The 10 greatest MLB hitters of all-time
When considering the greatest MLB players of all-time, you have to take into account all factors: speed, defense, arm strength, baserunning acumen. And that’s before you add pitchers to the mix.
Today, however, we’re weighing only the best hitters in MLB history. The guys who did the most when they stepped into the batter’s box.
This involves weighing various stats, of course, but also considering harder-to-quantify factors such as sweetness of swing, etc., as well as balancing sluggers and high-average contact hitters (with bonus points, naturally, for players who combine both qualities).
Here are our picks for the top 10 players ever to pick up a bat. The debate is part of the fun, but you’ll be hard-pressed to assemble a more potent collection of lumber-wielding stars.

10. INF/OF Pete Rose
The all-time MLB hits leader is not in the Hall of Fame because of accusations related to gambling. We’ll let you parse and consider the relative merits of that decision.
But the numbers speak for themselves: Charlie Hustle rapped out 4,256 hits over the course of his career. He also owns the record for games played (3,562) and plate appearances (15,890).
So consider this a tip of the cap to a decidedly flawed player who hung around and kept hitting ‘em where they ain’t long enough to etch his name in the record books, warts and all.

9. CF Joe DiMaggio
Joe DiMaggio’s storied MLB career lasted just 13 seasons, with three of them wiped out by his service in World War II and his latter years marred by injury.
Thus, his counting stats and WAR figures don’t qualify him for “greatest player” consideration, despite his iconic status.
But let’s pause for a moment and reflect upon the fact that Joltin’ Joe’s 56-game hitting streak is among professional sports’ most unbreakable records. Add DiMaggio’s .325 lifetime average, and you’ve got one of baseball’s consummate hitters.
8. 1B, Lou Gehrig
Despite playing Robin to Babe Ruth’s Batman on the Yankees roster, first baseman Lou Gehrig established himself as one of the top hitters in MLB history.
A two-time MVP and seven-time All-Star, Gehrig posted a career .330 average and 1.080 OPS, while swatting 493 home runs and tallying 1,995 RBI.
The illness that would come to be associated with his name cut his career short, but he’ll go down as among the all-time greats (and all-time second fiddles, alongside Scottie Pippen) pro sports has ever known.

7. 1B/OF Stan Musial
If your nickname is “the Man,” you’re swinging it.
So it was for Stan “the Man” Musial, who made 20 All-Star teams and won three MVP awards during his 22-year MLB career.
By the time he hung ‘em up, Musial owned a .331/.417/.559 slash line. He also won seven batting titles, belted 475 home runs and ranks fourth all-time with 3,630 hits and second with 6,134 total bases.
6. LF Ted Williams
Ted Williams—aka the “Splendid Splinter”—is, in many respects, the prototype of the perfect hitter. Sweet swing; unflappable dedication; historically elite numbers. He has it all.
The last player to hit .400 (.407 in 1953), Williams was a two-time MVP and 17-time All-Star.
He finished with a .344 career average and all-time record .482 on-base percentage. He won six batting titles, tallied 521 home runs and rapped out 2,654 hits.
Oh, and he missed three years of his prime (1943-45) to World War II service.

5. CF Willie Mays
Willie Mays routinely ranks among the all-time greats because of his five-tool talent set. Here, we’re just considering hitting.
Still, there’s plenty to like.
Mays’ 660 home runs put him sixth all-time and he tallied 3,283 hits and a career .302/.384/.557 slash line.
Even without his speed and “the Catch”-exemplified defense, that warrants placement in our top 10.

4. CF Ty Cobb
By all accounts both historical and anecdotal, Ty Cobb was not a pleasant man.
But as a hitter in the early- to mid-20th century, his skills were unparalleled.
Cobb debuted with the Detroit Tigers in 1905 at age 18 and retired following his age-41 season in 1928. In that span, he won an MLB-record 12 batting titles and collected 4,189 hits.
When all was said and done, the Georgia Peach retired with a .366 average, which stands as the all-time record to this day.
3. RF Hank Aaron
In 1974, Hank Aaron passed Babe Ruth on the all-time home run list with dinger number 715. He finished with 755 homers, a record that stood until 2007 (more on that shortly).
But Hammerin’ Hank wasn’t all about clearing fences, even if that defines his legacy.
Aaron still owns the record for RBI (2,297) and total bases (6,856), and was a .305 hitter during his career.
2. LF Barry Bonds
Perhaps you want to dismiss or diminish Barry Bonds’ all-time (762) and single-season (73) home run records. Fine.
What you cannot dismiss is the fact that, even allowing for PED-inflated numbers, Bonds was a three-time MVP with legendary pitch-recognition skills and generational bat speed before anyone ever credibly launched a steroid allegation against him.
Ding him for his dubious late-career exploits if you wish. But don’t dismiss him as one of the greatest players ever to wield a bat...and a guy who was once literally intentionally walked with the bases loaded.

1. RF/LHP Babe Ruth
Many of Babe Ruth’s records have been broken, including his career 714 home runs and single-season 60 taters.
Yet there are many reasons to consider him the greatest hitter of all time, like his all-time record career slugging percentage (.690) and OPS (1.164) remain on the books. In sum, the Great Bambino will always be associated with slugging prowess, even if and when his remaining records are toppled.
And let’s not forget his .342 lifetime batting average, which suggests he quite likely could have been a .400 hitter if he’d aimed less frequently for the fences.
Then again, who would have wished for that?