Fields played four seasons for the University of Georgia, 2005–08. He was selected by the Atlanta Braves in the second round of the 2007 draft but chose to return to school, then was selected 20th overall in the first round of the 2008 Major League Baseball Draft by the Seattle Mariners. He agreed to terms with the Mariners on February 13, 2009. Fields's agent for the negotiations was Scott Boras.
On July 31, 2011, Fields was traded to the Boston Red Sox in a three-team trade that sent Érik Bédard to the Red Sox. In the 2012 Rule 5 draft, the Astros acquired Fields from the Red Sox as the first pick of the draft. In 2013 he made the Astros final 25 man roster and recorded a strikeout against the 1 batter he faced.