Initially assigned to the Oneonta Tigers in the New York–Penn League, Thomas was promoted to the West Michigan Whitecaps on July 13, and proceeded to appear in 51 games, hitting.284. Thomas spent the 2006 season with the Lakeland Tigers, where he appeared in 132 games and hit.257 with 40 RBIs and 34 stolen bases. In 2007, he was promoted to Erie, where he hit.280 with 53 RBIs and 18 stolen bases. Thomas, along with fellow outfielder Matt Joyce, was considered a likely future major leaguer. Commenting on the two, then-Tigers general managerDave Dombrowski remarked that "We think they're both prospects...We're not counting on them for this year, but they've got a chance to play at the Triple-A level, depending on how they do this spring."
Detroit Tigers
A non-roster invitee to 2008 spring training, Thomas made the team after starting center fielderCurtis Granderson broke a finger and went on the disabled list. On Opening Day, Thomas entered the game as a defensive replacement and made his first major league putout against Joey Gathright of the Kansas City Royals. Thomas later hit a double in the bottom of the 11th inning off Royals closer Joakim Soria for his first major league hit. Thomas split time in the 2008 Major League Baseball season between the Tigers and the AAA-affiliate Toledo Mud Hens. On April 23, Thomas was optioned to the Tigers' AAA-affiliate Toledo Mud Hens when Curtis Granderson was activated from the disabled list. Thomas was recalled from Toledo May 29 to replace struggling Matt Joyce. On June 4, Thomas sprained his ankle and went on the disabled list. He was replaced by Brent Clevlen. Thomas returned to the active roster on June 18, 2008. On May 5, 2009, Thomas was called back up to the Detroit Tigers in a game against the Minnesota Twins. In the game, Thomas went three for four with a single, double, and triple, making him a home run shy of hitting for the cycle. On June 7, 2009, against the Los Angeles Angels of Anaheim Thomas hit the first grand slam of his career off Angels reliever Jason Bulger to break a 5–5 eighth-inning tie. On June 12, 2009, Detroit optioned Thomas back to Toledo and called up Don Kelly. Said manager Jim Leyland: "I think he has a shot to be an everyday player, but he has to shorten up his swing...he will be back." On July 9, 2009, Thomas was recalled from Toledo, and Don Kelly was sent back to Toledo. Thomas has two walk-off hits in 2009. On August 3, 2009, Thomas hit his first career walk-off home run against Baltimore Orioles pitcher Danys Báez and on August 20, 2009, Thomas hit a walk-off single to beat the Seattle Mariners 7–6. Thomas spent all of 2010 and 2011 at Triple-A after not making the Tigers roster. In 2010, Thomas played 21 games and hit.183 over that time. In 2011, he hit.251 with 12 home runs in 113 games.
Minnesota Twins
On April 14, 2012, Thomas was claimed off waivers by the Minnesota Twins. Thomas joined the Twins for their April 15, 2012, game at Target Field. He hit a two-run home run in his first game with the Twins against Texas Rangers pitcher Neftalí Feliz. On May 5, 2012, Thomas was designated for assignment by the Twins. He cleared waivers and was assigned to the Twins' Triple-A affiliate in Rochester, New York. Thomas began 2013 with Rochester as their center fielder. In 36 games with the Red Wings, he hit.296/.385/.576 with 9 HR and 25 RBI before being promoted. One June 3, Thomas was called up by Minnesota as an extra outfielder because Wilkin Ramírez was dealing with a concussion. On June 10, starting center fielder Aaron Hicks was placed on the disabled list, opening the door for Thomas. When Hicks returned on July 2, Thomas was moved into a fourth outfielder role. During the All-Star break, left fielderOswaldo Arcia was optioned to Rochester, and Thomas took over there. On August 2, Hicks was optioned to Rochester and Arcia was recalled, sliding Thomas over to center field. On August 31, the Twins acquired Alex Presley from the Pirates, and Presley started at center field in September, moving Thomas into a reserve role. In 92 games for the Twins, mostly in center field, Thomas hit.214/.290/.307 with 4 HR, 13 RBI, 39 R and 92 SO. He was outrighted off the roster on October 2, 2013.