Reynolds was drafted by the Philadelphia Phillies out of Terra Nova High School in the 41st round of the 2003 MLB Draft, but he instead decided to attend Stanford University. He was then selected by the Colorado Rockies as the second overall selection in the first round of the 2006 MLB Draft.
Reynolds made his Major League Baseball debut on May 11, 2008, in a 6-1 road loss against the San Diego Padres. He allowed four earned runs on six hits and struck out one batter in 5.2 innings.
On June 7, 2008, Reynolds picked up his first career win and hit as a pitcher, in a 7-2 home victory over the Milwaukee Brewers. He pitched six innings, allowing two earned runs on four hits, with no strikeouts. His first career hit, a double, occurred in the bottom of the second inning off Brewers pitcher Dave Bush.
In 2009, Reynolds appeared in just 1 game due to injury. In 2010, he split time between Double-A and AAA, compiling a record of 8-6 in 19 starts.
On May 22, 2011, Reynolds was called up to replace struggling Felipe Paulino. Reynolds went 3-0 for the Rockies but with an ERA of 6.19 in 13 games.
On January 5, 2012 Reynolds was traded to the Texas Rangers for Chad Tracy. He was let go after the 2012 season.
In 2013, Reynolds signed a minor league deal with the Cincinnati Reds. He began the season with Triple-A Louisville, where in 18 starts before his callup, he went 10-2 with a 2.54 ERA, striking out 79 in 127.1 innings. On July 23, Reynolds was called up to start the second game of a double-header against the San Francisco Giants. In his start, he went 5 innings giving up 5 runs, taking the loss. On July 28, he was designated for assignment.
In December 2013, Reynolds reached a deal with the Seibu Lions. He was released on September 20, 2014.
Reynolds was signed to a minor league contract by the San Diego Padres on February 19, 2016. He was released on May 16, 2016.