Bowden began his professional career with the Gulf Coast League Red Sox in 2005, and advanced to the Greenville Drive the following season, also playing one game with the Wilmington Blue Rocks.
Bowden began the 2008 season with the Sea Dogs and was promoted to the Pawtucket Red Sox, the Triple-A affiliate of the Boston Red Sox, on July 18, 2008. He got the decision in a five-inning start, giving up seven hits and two runs in an 8-2 win. On April 26, 2009, Bowden was called up to bolster the bullpen after a night where the Red Sox bullpen got overworked. He later worked two perfect innings against the New York Yankees.
Bowden was recalled July 18, 2010 after spending the season in Pawtucket. After three relief appearances, he was optioned back five days later to make room for Josh Beckett, who was coming off the disabled list. On August 14, 2010, Bowden was once again recalled, and then optioned back on August 28 to make room for Hideki Okajima.
In 2011, Bowden began the season with Pawtucket, for whom he pitched in 14 games with a 1.59 ERA. He was recalled to the Red Sox on May 17 when Daisuke Matsuzaka was placed on the 15-day disabled list with an elbow injury. Bowden was recalled on August 27, to replace Scott Atchison. On April 15, 2012 Bowden was designated for assignment.
On April 21, 2012, Bowden was traded to the Chicago Cubs along with a player to be named later for Marlon Byrd. On April 14, he along with Edwin Jackson broke the record for most wild pitches in an inning, with 5. He was designated for assignment on May 21, 2013. He returned to the Cubs when his contract was selected on July 11, 2013. He was designated for assignment again on September 4, 2013 and became a free agent on October 1.
Bowden signed a contract with the Seibu Lions of Nippon Professional Baseball for the 2014 season. He developed a split-finger fastball while playing for the Seibu Lions.
On December 24, 2014, Bowden signed a minor league deal with the Cincinnati Reds. On December 29, 2014 he was assigned to AAA Louisville Bats. On April 4, 2015 he was traded to the Baltimore Orioles. He was assigned to AAA Norfolk Tides.
Bowden signed a minor league deal with the Minnesota Twins on July 25, 2015. He elected free agency on November 6.
Bowden signed a one-year contract worth $650,000 with the Doosan Bears in the Korea Baseball Organization in November 2015. On June 30, 2016, Bowden pitched a complete game no-hitter against the NC Dinos. On December 12, 2016, Bowden re-signed his contract with the Bears for one more season.