Thome was originally drafted by the Cleveland Indians in the 13th round of the 1989 Major League Baseball Draft. Thome made his Major League debut on September 4, 1991 as a third baseman against the Minnesota Twins. Originally a third baseman, he was shifted to first base when the Indians traded for Matt Williams in 1997. At the plate, Thome hit 25 home runs and 73 runs batted in with a .314 batting average in 1995. Thome then hit 38 home runs in 1996 and 40 in 1997. Thome soon became a prolific home run hitterHe hit 49 home runs with the Indians in 2001, followed by a career-high 52 homers in 2002.
Thome has been nicknamed "The Thomenator," "The Pride of Peoria," and more recently as a member of the White Sox "Mr. Incredible". Wildly beloved by Indians fans, a Plain Dealer fan poll in 2003 named Thome the most popular athlete in Cleveland sports history. After the 2002 season, Thome accepted a six-year offer from the Philadelphia Phillies. Thome hit 47 home runs in his first season with the Phillies and received the Babe Ruth Home Run Award. On June 14, 2004, Thome hit his 400th career home run at Citizens Bank Park,
On November 25, 2005, Thome was traded to the Chicago White Sox. Thome became the White Sox's regular designated hitter in April 2006 and flourished in his first season in Chicago. For the season, Thome hit 42 homers, batted in 109 runs, and hit .288. On September 16, 2007, Thome hit his 500th career home run. The home run was a walk-off in the bottom of the ninth inning with one man on base, which gave the White Sox a 9–7 victory. Thome became the 23rd major leaguer to reach the milestone as well as the first ever to do it with a walk-off shot.
In 2007, a poll of 464 MLB players showed that Thome was voted the second friendliest player in the league. On August 31, 2009, Thome was traded to the Los Angeles Dodgers.
Thome finished the 2010 season with the Minnesota Twins with a .283 average, 25 home runs and 59 runs batted in. Statistically, in terms of power measurements such as slugging percentage and at bats per home run, it was the best season for Thome since 2002. On January 14, 2011, Thome accepted a one-year contract to continue playing for the Twins.
On August 15, 2011, Thome hit his 599th and 600th career home runs (in two straight at bats) against the Detroit Tigers at Comerica Park. This made him only the eighth baseball player to have achieved that feat. Ten days later, Thome was traded to the Cleveland Indians. On November 4, 2011, Jim Thome agreed to a one year deal with the Philadelphia Phillies. Jim Thome's last game as a Phillie was in an afternoon loss to the Miami Marlins, on June 30, 2012. After the game, it was officially announced that Thome was headed to Baltimore to serve as their DH.