Lofton decided to try out for the baseball team during his junior year. Although he did not see much playing time, his speed and potential were recognized by baseball scouts, and he was chosen by the Houston Astros in the 17th round of Major League Baseball's amateur draft. He played minor league baseball during the summer while completing his basketball eligibility at Arizona.
Lofton returned to Auburn in , hitting .263 with 26 steals in 34 games. He then hit .329 with 14 steals in 22 games for Asheville in the South Atlantic League. As his college basketball career came to an end, Lofton was able to concentrate fully on baseball and he improved rapidly, finishing second in the league in hitting at .331 while adding 62 steals for Osceola in the Florida State League. He also drew 61 walks, demonstrating patience and intelligence as a hitter, while improving defensively.
After a great spring training in , he jumped directly to Tucson of the Pacific Coast League, skipping Double-A. He hit .308 with 30 steals and 52 walks for Tucson, with 19 doubles and 17 triples. At Tucson, he led his team to the PCL championship and made the league's All-Star squad. In September 1991, the Astros promoted Lofton to the majors. In his major league debut, he had three hits and scored three runs against the Cincinnati Reds.
Stellar debut aside, Lofton struggled during his brief stint in Houston, batting only .203. With future all-star Steve Finley already firmly entrenched in Houston's center field, Lofton was traded to the Cleveland Indians for top prospect Eddie Taubensee and right-handed pitcher Willie Blair.
During his rookie season, Lofton hit .285, his 66 stolen bases establishing an all-time record for an American League rookie and the most by a Major League rookie since Vince Coleman's 110 in . He finished second in AL Rookie of the Year balloting. His career blossomed from that point on, as Lofton proved to be one of the consistently excellent players (and perhaps the premier leadoff hitter) of the 1990s. He appeared in six consecutive all-star games and won four straight Gold Gloves for the Indians and the Atlanta Braves. Through the season, Lofton had tallied a .299 career batting average with 123 home runs, 120 triples (2nd among active players), and 1,442 runs (6th among active players) in 1,967 games.
His 622 stolen bases through rank him 1st among active players and 15th all-time. He holds the Cleveland Indians record for stolen bases with 450 steals.
He played with the Indians until . He was traded to the Atlanta Braves along with Alan Embree for Marquis Grissom and slugger David Justice. Lofton rejoined the Indians in when he signed as a free agent, forcing the Indians to trade Grissom. He played in Cleveland for three more years. From to 2007, Lofton played for eight teams. On July 27, 2007, Lofton was traded by the Texas Rangers, his Major League record eleventh team played on, back to the Cleveland Indians in exchange for minor league catcher Max Ramírez, marking the beginning of his third tour of duty with the Indians. A surprised Jacobs Field crowd greeted Lofton with a standing ovation during his first at bat for this tour of duty with the Indians. Lofton noted, "I missed being in Cleveland... I enjoy Cleveland. It's the city that got me going. Lofton became a free agent at the end of the season.
In the 1995 ALCS against Seattle, he came around to score from second on a passed ball.
In the 2002 NLCS, he hit the NLCS game winning single for the San Francisco Giants, driving in David Bell from second.
He flew out to right center to end the 2002 World Series.
In game one of the 2007 ALDS against New York, he went 3-4 with 4 RBIs and 1 stolen base, tying him with Ricky Henderson for Major League Baseball's all-time post-season stolen bases record (33). In game two, he went 2 for 3 with two walks and scored the winning run in the 11th inning.
In game three of the 2007 ALCS, he hit a 2-run homer against the Boston Red Sox.
In game four of the 2007 ALCS, Lofton earned his 34th career post-season stolen base, setting a new MLB record for playoff steals.