1. Barry Bonds
Barry Bonds hasn’t appeared in an MLB game since 2007, but he remains the best player to grace the diamond since 2000. Bonds kicked off the century with a 49 home run, 7.7 WAR season that ended with a runner-up finish for the National League MVP. Then, Bonds proceeded to win four MVPs in a row while smacking 209 HR and accumulating a staggering 43.4 WAR. The home run king had an OPS of 1.368 during that stretch and drew 755 walks compared to just 239 strikeouts.
2. Shohei Ohtani
The only player that has an argument to be ahead of Bonds is Shohei Ohtani. In just seven seasons, Ohtani has won three MVPs — with one runner-up finish — and finished fourth for the American League Cy Young in 2022. When healthy, Ohtani is one of the best pitchers in baseball. In 2024, Ohtani’s first year with the Dodgers, the star posted a 9.2 WAR and became the first player to hit 50 HR and steal 50 bases in one season. In addition to snagging 59 bases, the all-time great led the league in runs (134), HR (54), OBP (.390), SLG (.646), OPS (1.036) and hit a career-high .310.
3. Alex Rodriguez
If there is one baseball player more polarizing than Bonds, it is Alex Rodriguez. The No. 1 overall pick in 1993, A-Rod was a superstar as a 20-year-old with the Seattle Mariners. In 2000, his last with the M’s, Rodriguez posted a career-high 10.4 WAR. An all-around talent, A-Rod went on to win three MVPs between 2003 and 2007. While PED use has tainted his legacy, Rodriguez’s talent and skill cannot be denied. In the 2000s, Rodriguez hit 548 HR, drove in 1,623 runs, and won a pair of Gold Gloves.
4. Mike Trout
If not for a series of injuries, Mike Trout would likely be higher on this list. After a 40-game introduction in 2011, Trout burst onto the scene in 2012 as a 20-year-old rookie. En route to winning the AL Rookie of the Year and finished second for the MVP, Trout slashed .326/.399/.564 with 30 HR, 49 SB, and 129 runs. Starting with the ’12 season, Trout led baseball in WAR five years in a row. During that time, he won two MVPs and finished runner-up three times. Trout won a third MVP in ’19 and secured a ninth-straight top-5 finish in ’20. Unfortunately, injuries have limited the star to 319 games since 2020. Now 33, Trout has a career OPS of .991 and is closing in on 400 HR.
5. Albert Pujols
Albert Pujols debuted in 2001 and quickly made fans in St. Louis move past the Mark McGwire era. While playing a solid first base, Pujols cemented himself as one of the greatest hitters in baseball history. Pujols hit 32+ homers in his first 11 seasons and won three MVPs and two World Series titles with the Cards. He earned the nickname ‘The Machine’ for his unmatched production in the box — .328/.420/.617, 445 HR, 2,073 hits — and ability to stay on the field. From 2001-2011, Pujols played in at least 147 games each season. The second half of his career did not come close to his initial stint with the Cardinals, however. After signing with the Angels ahead of the 2012 season, the legend proceeded to slash .257/.313/.454 with 258 HR over the final 11 years of his career.
6. Clayton Kershaw
Three pitchers have dominated the sport since the mid-2000s — but Clayton Kershaw is the best of the trio. Kershaw debuted for the Dodgers in 2008 and it didn’t take long for the lefty to elicit memories of Sandy Koufax. From 2009-2023, Kershaw finished all but two seasons with an ERA below 3.00. He has five ERA titles to his name including back-to-back sub-1.85 ERA seasons in 2013 and 2014. Kershaw won three Cy Young Awards and finished second for two others. In ’14, the ace went 21-3 with a 1.77 ERA en route to winning his third CY and was named the NL MVP. Kershaw’s career 2.50 ERA is the lowest in MLB history.
7. Miguel Cabrera
If there was one hitter challenging Albert Pujols for the title of ‘best hitter’ in the mid-2000s to early 2010s, it was Miguel Cabrera. Cabrera debuted with the Florida Marlins in 2003 and helped the team win the World Series over the juggernaut New York Yankees. By ’05, Cabrera was hitting over .320 with 30 HR and finishing in the top-5 of MVP voting. Like many stars that have played for the Marlins, Cabrera was traded before he peaked. After landing in Detroit, Cabrera won back-to-back MVPs (’12, ’13) and hit for the Triple Crown — 44 HR, 139 RBI, .330 BA in ’12. The future Hall of Famer was slowed by injuries and age over the last seven years of his career, but he finished with over 500 HR, 3,000 hits, and a .306 BA.
8. Ichiro
Despite not making his debut in Major League Baseball until he was 27, Ichiro put together a legendary career that ended one vote shy of a unanimous selection to the Hall of Fame in 2025. As a rookie in 2001, Ichiro led baseball with 242 hits, and 56 stolen bases and paced the AL with a .350 BA en route to winning both the MVP and Rookie of the Year. The two-way sensation went on to lead baseball in hits six more times and won 10 Gold Gloves with the Mariners. In 19 seasons, Ichiro accumulated 3,089 hits and 509 SB.
9. Adrian Beltre
Of all the players on this list, Adrian Beltre didn’t receive as much praise as he deserved until late in his career. In 2004, his seventh season, Beltre hit .334 and slugged a league-high 48 homers with the Dodgers en route to a runner-up finish for the NL MVP. One of the best defensive third basemen of all-time, Beltre had to wait until ’07 to win his first Gold Glove — he went on to win four more, as well as two Platinum Gloves. Beltre remained a great player into his late 30s, as well. He posted a 6.7 WAR at the age of 37 and hit .312 the following season. Overall, Beltre hit 477 HR and record 3,166 hits.
10. Justin Verlander
Alongside Kershaw and Max Scherzer, Justin Verlander is one of three pitchers who has defined the past 15+ years. The No. 2 pick in 2004, Verlander won 17 games for the Tigers as a rookie in ’06. While he battled control issues early in his career, it was clear he was destined for greatness. He put it all together in ’11 — claiming his first Cy Young and MVP — by winning the Triple Crown (24 wins, 2.40 ERA, 250 SO). Remarkably, Verlander won his second CY in ’19 and added a third in ’22 at the age of 39. Entering ’25, Verlander has 262 wins and over 3,400 strikeouts.