He then switched to the outfield in 2005 while playing for the Columbus Catfish and Vero Beach Dodgers. In 2007, he played for the Inland Empire 66ers of San Bernardino, and in 2008 for the Jacksonville Suns. The Dodgers added him to their 40 man roster prior to the 2009 season. Hoffmann participated in the 2008 Arizona Fall League season with the Surprise Rafters. He began 2009 in Double-A with the Chattanooga Lookouts and was then promoted to the Triple-A Albuquerque Isotopes. On May 22, he was called up to the Los Angeles Dodgers when reserve outfielder Xavier Paul was placed on the disabled list. He made his MLB debut, flying out as a pinch hitter, the same day. Hoffmann's first Major League hit was a three-run home run in the 2nd inning against Matt Palmer of the Los Angeles Angels of Anaheim on May 24. He played in 14 games with the Dodgers and then was optioned back to the Minors. He was designated for assignment on September 1 and then released by the Dodgers after clearing waivers. He was shortly resigned and sent back to Albuquerque. Hoffmann was selected as the first overall pick in the 2009 Rule 5 Draft by the Washington Nationals on December 10, but was immediately traded to the New York Yankees for Brian Bruney, as the player to be named later. On March 22, Hoffmann was returned to the Dodgers and assigned to the Triple-A Albuquerque Isotopes, where he hit.310 in 139 games. He was then added to the Dodgers 40-man winter roster, which protected him from being lost in the 2010 Rule 5 Draft. He appeared in two games with the Dodgers in April 2011 during a brief appearance in the Majors and was 0-4 before being optioned back to Albuquerque. With the Isotopes, he appeared in 133 games, hitting.297 with 22 home runs and 84 RBI.
The Colorado Rockies claimed Hoffmann off of waivers on December 5, 2011. Hoffmann elected free agency after being sent outright to the minors during Spring Training.
On March 31, 2012, Hoffmann signed a minor league contract with the Baltimore Orioles. With the AAA Norfolk Tides, he hit.254 in 110 games with 11 homers and 44 RBI.
On November 20, 2012 he signed a minor league contract with the New York Mets. With the Las Vegas 51s in 2013, he played in 116 games and hit .277 with 9 homers and 56 RBI.