Skip to main content

25 Best Hitters in Baseball (MLB) History

Miguel Cabrera

See which baseball player is the greatest hitter ever

Having recently joined the 3,000-hit and 500-home run club, Miguel Cabrera is definitely one of the best hitters in Major League Baseball history, but where does he stand? In determining the greatest hitters of all time, one cannot just go with batting average or number of hits (Sorry, Pete Rose). You have to factor in longevity, the caliber of pitchers faced, and the number of runs that this hitter brought home. 

With those factors in mind, here are my 25 best hitters of all time. Every player on this list has either hit over .330, has more than 3,000 hits, blasted more than 500 home runs, collected more than 1,000 RBIs, or accomplished a combination of the four. Not everyone may agree with these rankings so let the debating begin.

Note: Statistics for active players are through May 8, 2022. This list does not include players who have admitted to or faced serious allegations of using performance-enhancing drugs.

— Rankings by Aaron Tallent, who is part of the Athlon Contributor Network. Tallent is a writer whose articles have appeared in The Sweet Science, FOX Sports’ Outkick the Coverage, Liberty Island and The Washington Post. Follow him on Twitter at @AaronTallent.

25. Rod Carew

Minnesota Twins (1967–78), California Angels (1979–85)

Image placeholder title

Batting Average: .328
Hits: 3,053
Home Runs: 92
RBIs: 1,015

In 1972, Carew became the last player to win a league batting title without hitting a single home run.

24. Paul Molitor

Milwaukee Brewers (1978–92), Toronto Blue Jays (1993-95), Minnesota Twins (1996–98)

Batting Average: .306
Hits: 3,319
Home Runs: 234
RBIs: 1,307

Molitor was one of the first players to be inducted into the Baseball Hall of Fame after playing much of his career as a designated hitter. His 39-game hitting streak in 1987 is the longest since Pete Rose hit in 44 straight games in '78.

23. Paul Waner

Pittsburgh Pirates (1926–40), Brooklyn Dodgers (1941), Boston Braves (1941–42), Brooklyn Dodgers (1943–44), New York Yankees (1944–45)

Batting Average: .333
Hits: 3,152
Home Runs: 113
RBIs: 1,309

Waner and his brother Lloyd hold the major league for the total hits by any set of brothers with 5,611. The two of them outperformed three Alou and DiMaggio brothers.

22. Wade Boggs

Boston Red Sox (1982–92), New York Yankees (1993–97), Tampa Bay Devil Rays (1998–99)

Batting Average: .328
Hits: 3,010
Home Runs: 118
RBIs: 1,014

Boggs won five American League batting titles in the 1980s. He also reportedly drank 107 beers in one day if you believe this story.

21. Eddie Collins

Philadelphia Athletics (1906–14), Chicago White Sox (1915–26), Philadelphia Athletics (1927–30)

Image placeholder title

Batting Average: .333
Hits: 3,314
Home Runs: 47
RBIs: 1,300

The only player to play 12 seasons apiece with two different teams also holds the career record for sacrifice bunts with 512.

20. Tony Gwynn

San Diego Padres (1982–2001)

Image placeholder title

Batting Average: .338
Hits: 3,141
Home Runs: 135
RBIs: 1,138

A lot of things made me sad and angry when the strike ended the 1994 season. The fact that Gwynn was batting .394 and had a legitimate shot at .400 when it was canceled is high on that list of grievances.

19. Ed Delahanty

Philadelphia Quakers (1888–89), Cleveland Infants (1890), Philadelphia Phillies (1891–1901), Washington Senators (1902–03)

Batting Average: .346
Hits: 2,596
Home Runs: 101
RBIs: 1,464

Delahanty has the fifth-highest batting average in major league history. If he had not gotten drunk and fallen into Niagara Falls (I'm not kidding), he would probably have reached 3,000 hits.

18. Roberto Clemente

Pittsburgh Pirates (1955–72)

Image placeholder title

Batting Average: .317
Hits: 3,000
Home Runs: 240
RBIs: 1,305

Clemente got his 3,000th hit on the last regular-season at-bat of his career. Sadly, his life was cut short just three months later when his plane that was on its way to deliver relief supplies to earthquake victims in Nicaragua crashed.

17. Nap Lajoie

Philadelphia Phillies (1896–1900), Philadelphia Athletics (1901–02), Cleveland Naps (1902–14), Philadelphia Athletics (1915–16)

Image placeholder title

Batting Average: .339
Hits: 3,252
Home Runs: 82
RBIs: 1,599

Lajoie was so good that the Cleveland Indians called themselves the Cleveland Naps until he left the team after the 1914 season.

16. Derek Jeter

New York Yankees (1995–2014)

Image placeholder title

Batting Average: .310
Hits: 3,465
Home Runs: 260
RBIs: 1,311

Jeter is the New York Yankees' all-time hits leader. Given the success of that franchise, that is saying a lot.

15. Ichiro Suzuki

Seattle Mariners (2001–12, '18-present), New York Yankees (2012–14), Miami Marlins (2015–17)

Image placeholder title

Batting Average: .311
Hits: 3,089
Home Runs: 117
RBIs: 780

Ichiro's career is even more remarkable when you take into account that he didn't join the majors until he was 27. If you count his stats with ORIX Buffaloes in Japan, he would be baseball's all-time hits leader.

14. Lou Gehrig

New York Yankees (1923–39)

Image placeholder title

Batting Average: .340
Hits: 2,721
Home Runs: 493
RBIs: 1,995

Scroll to Continue

Recommended Articles

Gehrig and Stan Musical are the only two players with at least 500 doubles, 150 triples, and 450 home runs for a career.

13. “Shoeless” Joe Jackson

Philadelphia Athletics (1908–09), Cleveland Naps/Indians (1910–15), Chicago White Sox (1915–22)

Image placeholder title

Batting Average: .356
Hits: 1,772
Home Runs: 54
RBIs: 785

The most mythical figure on this list, Jackson batted .375 and had 12 base hits in the 1919 World Series. But because — at the very least — he knew some of his fellow teammates were taking bribes to throw the Series, he was banned from the game for life in the prime of his career, leaving us all to wonder what might have been.

12. Honus Wagner

Louisville Colonels (1897–99), Pittsburgh Pirates (1900–17)

Batting Average: .329
Hits: 3,430
Home Runs: 101
RBIs: 1,732

One of the best hitters of baseball's deadball era, Wagner had a knack for getting on base. And then he had a knack for stealing them.

11. Pete Rose

Cincinnati Reds (1963–78, '84-86), Philadelphia Phillies (1979–83), Montreal Expos (1984)

Image placeholder title

Batting Average: .303
Hits: 4,256
Home Runs: 160
RBIs: 1,314

Baseball's all-time career hits leader also holds the record for the most plate appearances in MLB history. His 1,972 career wins as a player is also a record.

10. Miguel Cabrera

Florida Marlins (2003-07), Detroit Tigers (2008-present)

Batting Average: .310
Hits: 3,009
Home Runs: 503
RBIs: 1,813

Cabrera is the third player in MLB history to have a career batting average over .300, 3,000 hits, and 500 home runs, along with Willie Mays and Hank Aaron.

9. Albert Pujols

St. Louis Cardinals (2001-11, 2022-present), Los Angeles Angels of Anaheim/Los Angeles Angels (2012-21), Los Angeles Dodgers (2021)

Image placeholder title

Batting Average: .297
Hits: 3,310
Home Runs: 681
RBIs: 2,155

Ever since he left St. Louis for Anaheim in 2011, it seems like Pujols has quietly become one of the top 10 hitters of all time. It's hard to imagine him moving ahead of the next player on this list, but's he is likely to move past him for fifth all-time in home runs this season. Pujols is nothing more than a part-time player now (and he's back with the Cardinals), but he's third in MLB history in career RBIs, fifth in home runs, and 11th in hits.

8. Willie Mays

New York/San Francisco Giants (1951–52, '54–72), New York Mets (1972–73)

Image placeholder title

Batting Average: .302
Hits: 3,283
Home Runs: 660
RBIs: 1,903

Perhaps the greatest five-tool player in baseball history batted in more than 100 RBIs in 10 of his 22 seasons.

7. Stan Musial

St. Louis Cardinals (1941–44, '46–63)

Image placeholder title

Batting Average: .331
Hits: 3,630
Home Runs: 475
RBIs: 1,951

Perhaps the nicest guy on this list, Stan the Man was not impacted by playing in opponents' ballparks. He accumulated an equal 1,815 hits at St. Louis' Sportsman’s Park and 1,815 hits on the road.

6. Tris Speaker

Boston Americans/Red Sox (1907–15), Cleveland Indians (1916–26), Washington Senators (1927), Philadelphia Athletics (1928)

Batting Average: .345
Hits: 3,514
Home Runs: 117
RBIs: 1,529

Speaker's 792 doubles remain a career record. In 1920, he hit 50 of them and batted .388 to help the Cleveland Indians win their first World Series.

5. Hank Aaron

Milwaukee/Atlanta Braves (1954–74), Milwaukee Brewers (1975–76)

Image placeholder title

Batting Average: .305
Hits: 3,771
Home Runs: 755
RBIs: 2,297

With all the focus on his career home run record that Barry Bonds broke in 2007, it is easy to forget that Aaron is the all-time career leader in RBIs, extra-base hits (1,477) and total bases (6,856).

4. Rogers Hornsby

St. Louis Cardinals (1915–26), New York Giants (1927), Boston Braves (1928), Chicago Cubs (1929–32), St. Louis Cardinals (1933), St. Louis Browns (1933–37)

Batting Average: .358
Hits: 2,930
Home Runs: 301
RBIs: 1,584

In 1922, Hornsby became the only player to bat over .400 and hit 40 home runs in the same season. His .424 batting average in 1924 is a single-season record that will likely never be broken.

3. Ted Williams

Boston Red Sox (1939–1942, '46–60)

Image placeholder title

Batting Average: .344
Hits: 2,654
Home Runs: 521
RBIs: 1,839

The last player to hit .400 in a season also had the best career on-base percentage in baseball history at .482. Williams' stats would have likely been even better had his career not been interrupted by service in both World War II and Korea.

2. Babe Ruth

Boston Red Sox (1914–19), New York Yankees (1920–34), Boston Braves (1935)

Image placeholder title

Batting Average: .342
Hits: 2,873
Home Runs: 714
RBIs: 2,213

Ruth once said, "If I'd just tried for them dinky singles I could've batted around .600." He may have been right, but we'll never know.

1. Ty Cobb

Detroit Tigers (1905–26), Philadelphia Athletics (1927–28)

Image placeholder title

Batting Average: .367
Hits: 4,191
Home Runs: 117
RBIs: 1,938

The Georgia Peach's career batting average over his 24 seasons in baseball is the highest in major league history. Plus, historians have proven he wasn't the worst human being to ever play the game as early biographies reported.