Carpenter split the 2011 season between the major and minor leagues. In MiLB, he went a combined 0–1, with 14 saves and a 1.91 ERA in 33 games for the Corpus Christi Hooks and Oklahoma City RedHawks, while striking out 38 batters in 33 innings pitched.
Carpenter made his big league debut with the Astros, on June 30, 2011. In his rookie campaign, Carpenter posted a 1–3 win–loss record, with a 2.93 ERA, in 27+2⁄3 innings pitched, while posting 29 strikeouts across 34 games.
On October 21, 2012, Carpenter was traded to the Red Sox for infielder Mike Avilés, after Avilés had been the agreed-upon compensation for the Red Sox signing incumbent Blue Jays managerJohn Farrell to fill that role for them. A player cannot in actuality be traded directly for a manager – he must be traded for another player – which explains why the Blue Jays sent Carpenter to Boston.[13] On November 20, he was designated for assignment, along with four other players.[14]
Atlanta Braves
The Atlanta Braves claimed Carpenter on waivers on November 30, 2012.[15] He was optioned to the Triple-A Gwinnett Braves on March 26. He was recalled on April 20,[16] then optioned back to Gwinnett on April 22.[17] He was recalled again on April 30.[18] Carpenter ended up making his Braves debut on May 10, giving up 2 runs in 2.1 innings against the Giants.[19] Carpenter spent the rest of the year in the Braves bullpen, where in 56 appearances, he was 4–1 with a 1.78 ERA and 12 holds, striking out 74 in 65+2⁄3 innings. Carpenter was the losing pitcher in Game 4 of the 2013 National League Divisional Series (NLDS), during which he gave up a two-run homer to Juan Uribe that would win the game for the Los Angeles Dodgers, ending the Braves' postseason run.[20]
Carpenter began 2014 with Atlanta as their setup man. On June 17, he was fined an undisclosed amount for throwing at Corey Dickerson, on June 12. The incident started after Dickerson hit catcher Gerald Laird twice in one at-bat, once on a foul tip and once with on the backswing of the bat. Carpenter then hit Dickerson on the hip with a fastball.[21] He was also placed on the disabled list that day, and was replaced by Pedro Beato.[22] In 34 appearances before the stint on the disabled list, Carpenter was 4–1 with a 4.23 ERA, 10 holds, and 35 strikeouts.
New York Yankees
The Braves traded Carpenter and Chasen Shreve to the New York Yankees for Manny Banuelos, on January 1, 2015.[23] On June 3, Carpenter was designated for assignment by the Yankees.[24] He appeared in 22 games for the Yankees with a 4.82 ERA.[25]
Washington Nationals
On June 11, 2015, Carpenter was traded to the Washington Nationals in exchange for Tony Renda.[26][27] He pitched in eight games for Washington, then missed the rest of the season due to right shoulder inflammation.[28] He became a free agent after the season.[29]
Atlanta Braves (second stint)
On November 24, 2015, Carpenter signed a minor league contract with the Atlanta Braves.[30] He was invited to spring training, and released on March 5, 2016.[31]
Tampa Bay Rays
On March 11, 2016, Carpenter signed a minor league deal with the Tampa Bay Rays.[32] He was released on March 30.[33]
On June 30, 2016, Carpenter re-signed with the Bluefish for the remainder of the 2016 season. In total he appeared in 36 games 35.2 innings of relief he went 1-0 with a 3.28 ERA with 39 strikeouts and 6 saves.
Tampa Bay Rays (second stint)
Carpenter signed a minor league contract with the Tampa Bay Rays on January 30, 2017.[37] He was released on April 4, 2017.
On July 21, 2017, Carpenter signed a minor league deal with the Arizona Diamondbacks. [38] He became a free agent after the season.
Texas Rangers
On February 5, 2019, Carpenter signed a minor-league contract with the Texas Rangers.[39] He was assigned to the Nashville Sounds, on April 12. On May 31, Carpenter's contract was selected by the big league team and he was added to the major league roster.[40] On June 8, Carpenter was designated for assignment.[41] He cleared waivers and was outrighted to Nashville, on June 10.[42] On August 13, the Rangers selected Carpenter's contract.[43] On August 19, he was again designated for assignment.[44] On August 21, Carpenter was outrighted to Nashville.[45] He elected free agency after the season.[46]
Cincinnati Reds
On December 16, 2019, Carpenter signed a minor league deal with the Cincinnati Reds.[47] Carpenter did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[48] He was released on September 16, 2020.
On April 9, 2021, Carpenter, a free agent at the time, was suspended by Minor League Baseball for one year for a violation of its Joint Drug Prevention and Treatment Program.[49]
^"David Carpenter Stats". MLB.com. December 16, 2019 - Cincinnati Reds signed free agent RHP David Carpenter to a minor league contract and invited him to spring training.