Who are the best baseball players of all time? Major League Baseball, America’s pastime, remains an iconic sport featuring legendary players like Nolan Ryan, Babe Ruth, Hank Aaron and Barry Bonds. As for the debate about who are the best MLB players ever, there is a lot to discuss.
This isn’t about the Baseball Hall of Fame. Unlike voters deciding who is enshrined into Cooperstown, we’re focused on a baseball player’s pure accomplishments. As for the use of performance-enhancing drugs like steroids or greenies (amphetamines), it merits consideration when determining the best MLB players of all time. However, ties to PEDs won’t be what takes one of the greatest baseball players ever off our list.
With all of that in mind, let’s examine the best MLB players ever.
Just Missed: Mike Schmidt, Roberto Clemente, Cy Young, Roger Hornsby
Bob Gibson was simply electric on the mound for the St. Louis Cardinals. He is just one of 19 players in the history of baseball with at least 3,000 strikeouts. He’s also part of an even more exclusive club, joining Pedro Martinez, Walter Johnson and Tom Seaver as the only pitchers with 3,000 strikeouts and a sub-3 ERA. If all of that isn’t a strong enough resume to be considered one of the best baseball players of all time, Gibson is also a two-time World Series champion with a career 1.89 ERA in the playoffs (81 innings).
Tom Seaver, aka Tom Terrific, is one of the best MLB players ever and is responsible for a generation of New York Mets fans having memories they’ll cherish forever. While Seaver won just a single World Series in his career, he earned 12 All-Star selections and won three NL Cy Young Awards during his career. Seaver received 98.84% of Hall of Fame voters as a first-ballot inductee, has the sixth-most strikeouts ever and is tied with Nolan Ryan for shutouts (61).
Josh Gibson never got the opportunity he earned to play in the major leagues, but he is still one of the best baseball players of all time. In his career, Gibson posted a batting average that rivaled the best hitters in MLB history (Ty Cobb, .366) and many of his peers believed he was just as good as Babe Ruth. While Gibson’s numbers in the Negro Leagues aren’t often held in the same regards as the MLB career leaders, those who chronicled Gibson’s career all agree he is one of the best baseball players to ever live.
While Alex Rodriguez might be one of the most hated baseball players ever, he must still also be recognized as one of the all-time greats. A three-time AL MVP, Rodriguez earned 14 All-Star selections in his career and fell just four home runs shy of the exclusive 3000/700/200 club. Steroids are an undeniable part of Rodriguez’s legacy, but he still has the fourth-most RBIs (2,086) in the history of baseball.
Related: Highest-paid MLB players in 2023
Albert Pujols finished his career with the St. Louis Cardinals and he’s a rare example of a final season elevating one of the best baseball players of all time. The 2022 campaign allowed Pujols to reach 700 career home runs, an achievement the future Hall of Famer certainly earned. A two-time World Series champion and three-time NL MVP, Pujols with the second-most RBIs (2,218) and the fifth-most doubles (686) in baseball history.
Nicknamed “The Judge”, Frank Robinson delivered absolute pain to baseballs and put fear into pitchers’ eyes for two decades. Signed by the Cincinnati Reds to a $3,500 contract in 1953, Robinson would only become one of the best outfielders of all time. A 14-time All-Star selection with a Triple Crown (1966), and all three MVP awards (1961 AL MVP, 1966 NL MVP and 1966 World Series MVP), he is an all-time great.
He also broke barriers, becoming the first African American manager in MLB history. It’s no surprise the Cincinnati Reds, Baltimore Orioles and Cleveland Guardians all have status honoring him. One of the best baseball players of all time deserves it.
Few MLB history ever hit like Joe DiMaggio. The New York Yankees centerfielder spent his entire career in pinstripes and he made them all memorable. A 13-time All-Star and nine-time World Series champion with three AL MVP awards, voting him onto the MLB All-Century Team was easy. The longest hitting streak in MLB history, 56 games, belongs to DiMaggio and it’s no surprise many viewed him as one of the best Yankees ever, including Marilyn Monroe.
Related: What is the highest batting average ever?
As we mentioned from the start, the issues that prevented Hall of Fame voters from honoring some of the best MLB players ever from enshrinement aren’t an issue for us. The Rocket is a seven-time Cy Young Award winner, which should tell you everything about his dominance. He won two World Series rings with the Yankees, finished as the MLB ERA leader seven times and he holds the MLB record for 20-strikeout games in 9 innings (twice). If you’re looking for the best starting pitchers ever, Clemens is squarely near the top of the list.
Rickey Henderson might be one of the most underrated players in MLB history when it comes to discussion of the all-time greats. MLB is long past its days of players stealing 70-plus bases, something Henderson did seven times in his career. He is the all-time leader in steals (1,406) and to put that number in perspective, he swiped more bags than Joe Morgan (689) and Kenny Lofton (622) combined. A 10-time All-Star selection and the all-time leader in runs scored (2,295) and lead-off home runs (81), no one is ever touching Henderson’s single-season or career records.
Greg Maddux, aka “Mad Dog”, delivered a four-year stretch as we’ve really never seen. The 6-foot righty won four consecutive NL Cy Young Awards, combining for a 1.98 ERA and 0.953 WHIP across 946.2 innings from 1992-’95. He also played his position like no other, winning the Gold Glove Award 18 times. If all of that isn’t enough, the baseball world named a shutout under 100 pitches the ‘Maddux’. If you’re building an all-time MLB rotation, Maddux is in it.
Incredibly, the Honus Wagner baseball card is even more historic than one of the best baseball players of all time. Wagner dominated the game like few others since its creation. Nicknamed “The Flying Dutchman”, he is widely considered the best shortstop in MLB history.
Mike Trout is the best MLB player of his generation and he might be even higher on the all-time list of best baseball players in a few years. Drafted 25th overall in the 2009 MLB Draft, Trout struggled in his first 40 games (.220 BA, 89 OPS+). Everything clicked for him after that. Trout delivered the best rookie season in MLB history (168 OPS+, 49 steals, 30 home runs) and finished second in MVP voting. He’s credited with the best WAR in a season (10.5, 2012) and earned a spot in the Hall of Fame before he even turned 30. It’s just a shame injuries and a terrible Angels’ organization prevent him from achieving even more fame and recognition.
“The Big Unit” struck fear into a batter the moment he hit the mound. At 6-foot-10 with a fastball that literally destroyed a bird mid-flight, hitters feared him for a reason. Johnson won five Cy Young Awards, a World Series MVP and led MLB in strikeouts nine times. Incredibly, he got better with age. From his ages 29-44 (1993-2008), Johnson compiled a 3.08 ERA with a 1.1 WHIP, 11.1 K/0 and 4.19 K/BB. Just an incredible hurler and definitively one of the best pitchers ever.
Related: What is the fastest pitch ever?
The Seattle Mariners knew they were getting a star with the No. 1 pick in the 1987 MLB Draft and Ken Griffey Jr. still blew past the wildest expectations. “The Kid” had the sweetest swing in baseball and it made him a 13x All-Star selection and 7x Silver Slugger Award winner. What made Griffey Jr. one of the most beloved MLB players ever is his enthusiasm for the game and the unmatched effort he played with. That same effort resulted in injuries that kept him from reaching 3,000 hits and reaching 700 home runs, but you know he wouldn’t change a thing.
A 5-foot-11 pitcher isn’t supposed to be this dominant. When compiling our list of the best MLB players ever, though, Martinez earned his placement right near the top. Longevity is important and that’s one thing that prevents Martinez from being even higher. However, the two-year stretch from 1999-2000 is arguably the best ever by a pitcher (1.90 ERA, 597 strikeouts, 8.65 K/BB in 430.1 innings). Because of it, we’re willing to call him the best pitcher ever in the Modern era.
Mickey Mantle, nicknamed “The Commerce Comet”, served as the face of the New York Yankees dynasty. He is arguably the most accomplished player in MLB history, a seven-time World Series champion and a 20-time All-Star selection. He could slug home runs with the best of them, serving as the AL leader in home runs four times (1955, ’56, ’58, 1960) and won the 1956 Triple Crown. He was also clutch in the World Series, drilling 18 home runs.
The debate over who is the best pitcher ever features a lot of hurlers from the past 40 years. That’s why Walter Johnson, who threw his last pitch in 1927, stands out. He simply played in a different era, pitch counts and managing innings weren’t a thing. It’s why he holds the record for most career shutouts (110), 20 more than the second-closest hurler. While his velocity wouldn’t seem like much today, he was certainly viewed as the equivalent of a Jacob deGrom during his era.
Stan the Man could do anything he wanted with a baseball bat. The greatest St. Louis Cardinals player ever hit almost everything for nearly two decades, posting a .300-plus batting average every season from 1941-1958. He ranks third all-time in runs produced, trailing Barry Bonds and Babe Ruth (ESPN). He earned 24 All-Star selections, won seven NL batting titles and finished with three World Series rings. There’s no question he belongs in the lineup of best MLB players ever.
Related: Longest baseball games ever
Is Ted Williams the greatest pure hitter who ever lived? He’s certainly the best player in Boston Red Sox history. If you want to know how special he was, Williams’ book “The Science of Hitting” is still recommended reading for MLB players today. He spent his entire MLB career with the Red Sox, then got drafted for World War II, before returning to baseball. The all-time leader in OBP (.482), Williams slugged a .328/.458/.584 line as a 38-year-old. The total stats would be even higher if not for three years in the military.
Related: World Series odds
The “Iron Horse” didn’t get to further cement his status as one of the best baseball players of all time because of ALS. However, everything he did before that and his iconic speech are more than enough. A six-time World Series champion and a member of the Major League Baseball All-Time Team, Gehrig’s most consecutive games MLB played streak (2,130) is likely never broken by Cal Ripken, Jr. if not for ALS. Paired with Babe Ruth, Gehrig’s 149 RBI per 162 game average is one of the highest in MLB history and his stats in 17 years are absurd.
Nicknamed “The Georgia Peach”, Ty Cobb was a hitting machine. He holds the MLB record for batting average, ranks second on the all-time hit list (4,189) and he posted a .400 batting average in consecutive seasons (1911-’12). MLB players racked up hits during Cobb’s era, but he was king with the most batting titles ever (12).
Cobb was also dangerous on the basepaths, both because he could steal and he’d spike the fielder without any regrets. In Babe Ruth’s words, “Cobb is a p—k. But he sure can hit. God Almighty, that man can hit.”
Barry Bonds paid the price for steroid allegations, being kept out of the Hall of Fame and being blackballed from MLB after an age-42 season that saw him hit 28 home runs with a 1.045 OPS. If he isn’t essentially forced to retire, there is no doubt Bonds chases 800 home runs and eclipses the 3,000-hit and 2,000-RBI marks.
The thing is, he doesn’t need those accomplishments. Bonds is the all-time leader in intentional walks (688) and that’s more than Albert Pujols (315) and Stan Musial (298) combined. He also holds the record for most career walks (2,558) and is the only member of the 500 homer-500 steals club.
He used steroids and it proved costly, doing far more damage to his reputation than others in MLB who benefitted from it (Bud Selig, Tony La Russa, Joe Torre). But even if you take away the numbers after Bonds allegedly started using steroids (1998) – 1,750 hits, 374 home runs, 417 steals and .959 OPS – Bonds is steal one of the best outfielders ever.
Recognized by many as the true home run king, Hank Aaron hit baseballs out as no one saw before him. After playing in the Negro league, Aaron made his MLB debut in March 1954. He would hit just 13 home runs in his first season, slashing .280/.322/.447. After that, Aaron was the best player in MLB.
Aaron is atop the MLB record books with the most career RBIs (2,297) and he holds the all-time record for total bases (6,856). He deserves to be called the home run king, especially because of the era he played in. One thing is for certain, Aaron is one of the best players in baseball history and his MLB record for All-Star Game Appearances (25) adds to his case.
Willie Mays is most famous for “The Catch” and his spectacular play in the Polo Grounds deserves all of the recognition, that play also shows so much more. It showcases the athleticism and hustle he played with for nearly 20 years with the Giants, delivering a play of play that helped him win 12 Gold Glove Awards and lead the NL in home runs and steals four times. He is unquestionably the best center fielder ever and if defense is valued highly, the greatest outfielder in MLB history.
It should come as no surprise that “The Sultan of Swat” tops our list of the best baseball players of all time. He posted Hall of Fame-caliber numbers in his first five seasons with the Boston Red Sox (981 OPS, 190 OPS+. Then, on Dec. 26, 1919, Red Sox owner Harry Frazee traded Babe Ruth to the New York Yankees for $100,000 cash.
“The Bambino” would only go on to be the best MLB player ever. He joined the greatest dynasty in baseball history. Ruth won four World Series titles with the Yankees, giving him seven rings in his career and sending the Red Sox into decades of bad luck. Across 15 seasons in the Yankees lineup, Ruth posted an otherworldly 1.195 OPS, 209 OPS+ with 659 home runs and 1,978 RBIs.
We still haven’t even gotten to his accomplishments on the mound. Across 10 seasons as a pitcher, Ruth posted a Cooperstown-worthy 2.28 ERA with 107 complete games, 17 shutouts and he threw pure filth on the mound in the World Series. He was Shohei Ohtani a century ahead of schedule. There’s no doubt that Babe Ruth is the greatest baseball player ever.
Babe Ruth is the best player in MLB history. He ranks first all-time in Wins Above Replacement (182.6), with nearly 20 more WAR than the second-best player (Walter Johnson, 165.1). Ruth has the second-highest OBP (.474) in MLB history, the highest slugging percentage in baseball history (.689) and he also threw 17 shutouts and won 94 games as a pitcher.
Walter Johnson is the best pitcher in MLB history. Johnson ranks second in all-time wins (417) by a starting pitcher, ranks second in career Wins Above Replacement (165.1), has the ninth-most strikeouts ever (3,509) and is credited with a 2.17 ERA across 5,914.2 innings.