The Chicago White Sox selected Thompson in the second round of the 2009 MLB Draft, and he signed rather than enroll at UCLA. Thompson started his baseball career in 2009 at the Rookie level with the Bristol White Sox and Great Falls Voyagers. In 2009 combined, Thompson hit.198 in 106 at-bats. In 2010, Thompson played the whole season for the Kannapolis Intimidators of the Class ASouth Atlantic League. In 2010, Thompson hit.229 in 210 at-bats. In 2011, Thompson again played the whole season with Kannapolis hitting.241 in 519 at-bats, and was named to the mid-season SAL All-star team. In 2012, Thompson moved up to through the White Sox farm system starting with the Winston-Salem Dash of the Class A-AdvancedCarolina League, then moved up to the Birmingham Barons of the Class AASouthern League and the Charlotte Knights of the Class AAAInternational League. In 2012, Thompson hit a combined.253 in 517 at-bats. Before the 2013 season, Thompson was ranked the White Sox #2 prospect. Thompson spent the entire 2013 season at Double-A Birmingham where he hit.229 in 507 at bats. Thompson was added to the White Sox' 40-man roster on November 20, 2013. The White Sox promoted Thompson to the major leagues on August 3, 2015, and he made his debut the next day. He hit his first major league home run on August 11 against Hector Santiago.
On December 16, 2015, Thompson, along with Micah Johnson and Frankie Montas, were traded to the Los Angeles Dodgers as part of a three team trade that sent Todd Frazier to the White Sox and José Peraza, Brandon Dixon and Scott Schebler to the Cincinnati Reds. He made the Dodgers' 2016 opening day roster. He played in 80 games for the Dodgers, hitting.225 with 13 homers and 32 RBI. He was placed on the disabled list on July 16 with a sore back. When his injury did not respond to treatment, he underwent an X-Ray which revealed that he had multiple fractures in his back, which kept him out of action for the rest of the season. After recovering from his injuries, Thompson was optioned to the Oklahoma City Dodgers to begin the 2017 season, but was called up to the parent club partway through the season. Ultimately, he played in 95 games for the Oklahoma City club and 27 for the Dodgers. In his big-league appearances in 2017, he batted.122 with a.483 OPS and two RBIs. Thompson was designated for assignment by the Dodgers on March 27, 2018.
Oakland Athletics
On April 3, 2018, Thompson was claimed off waivers by the New York Yankees and then two days later was claimed again, this time by the Oakland Athletics. The Athletics designated him for assignment on April 17, 2018.
Return to the White Sox
Thompson was traded back to the White Sox on April 19, in return for cash considerations. The White Sox designated Thompson for assignment on June 22, 2018. He elected free agency on November 2, 2018.