He was drafted by the Tampa Bay Devil Rays in the fourth round of the 2001 amateur draft, but did not sign. The following year Bush was drafted by the Toronto Blue Jays in the second round of the 2002 draft. He spent 2 years in the Toronto farm system before his MLB debut on July 2, 2004, a starting assignment against the Montreal Expos. Bush pitched two seasons with the Toronto Blue Jays, compiling a 10–15 record and a 4.15 ERA.
On January 30, 2011, he signed a minor league contract with the Texas Rangers as their long reliever. He was designated for assignment on July 1, 2011. He was released on July 6.
He signed a minor league contract with the Chicago Cubs on July 15. He opted out of his contract on August 11, after appearing in five games for the Triple-A Iowa Cubs, recording a 6.14 ERA.
On August 14, 2011, he signed a minor league contract with the Philadelphia Phillies. On June 5, 2012, Bush opted out of that contract to pitch for the SK Wyverns of the KBO.
Bush signed a minor league contract with the Toronto Blue Jays in December 2012. Bush started the 2013 season with the Triple-A Buffalo Bisons, but the Blue Jays brought him up on April 6 when Jeremy Jeffress was designated for assignment. Bush was designated for assignment on April 8, 2013. Bush cleared waivers and was assigned to Triple-A Buffalo. He became a free agent on October 1.
Near no-hitters
On three instances in Bush's career, he flirted with a no-hitter, taking it beyond seven complete innings. The first was on July 20, 2004, while pitching with the Blue Jays in only his third major-league starting appearance. He pitched 7 innings against the Oakland A's until Damian Miller, his future teammate with the Brewers, singled against him. In Milwaukee, Bush's next opportunity came against his former team, Toronto, on June 19, 2008. Lyle Overbay, the man Bush was traded for, led off the eighth inning with a triple to end the bid. In an April 23, 2009 game against the Philadelphia Phillies, he once again took the no-hit bid 7 innings before giving up a home run to Matt Stairs. All told, in 211 games pitched and 187 starts, Bush posted a 56–69 win-loss record, with six complete games and three shutouts. In 1,144 innings pitched, he allowed 1,199 hits and 296 bases on balls with 768 strikeouts. A good control pitcher, he led the National League in strikeout-to-walk ratio in.
Post-playing career
Bush began working in private business in Bridgton, Maine, in 2011, but he remained in baseball as a coach at Bridgton Academy. He joined MLB International as an envoy-coach in March 2015, serving for two years as a pitching coach with national teams from China and South Africa, then joined the Red Sox late in 2016 as a pitching development analyst. On January 10, 2019, Bush was named minor league pitching coordinator for the Boston Red Sox of Major League Baseball. He initially joined the Boston organization as a pitching development analyst after the 2016 season. In 2019, he served as one of two pitching coordinators in Boston's minor league system, with veteran coach Ralph Treuel in charge of logistics. On October 31, 2019, Bush was named the pitching coach for the Boston Red Sox.