Ranking MLB's 25 Best Outfielders Since 2000April 18, 2020
Ranking MLB's 25 Best Outfielders Since 2000
In recent weeks, we have been taking a look back at the best and brightest Major League Baseball had to offer over the past 20 years.
We've already run down our top 25 starting pitchers, top 25 catchers, top 25 first basemen, top 25 second basemen, top 25 shortstops and top 25 third basemen since 2000.
Now it's time for the outfielders.
A player's peak performance, his full statistical body of work since 2000 and his postseason production were all factored when determining the final rankings.
While no single stat was the end-all, be-all, OPS+ and WAR/500 are two important ones to know.
OPS+ is simply a hitter's on-base percentage plus slugging percentage, adjusted to take into account the ballparks in which he is hitting. An OPS+ of 100 is league-average, while each number above 100 represents one percentage point better than the league average.
WAR/500 is a stat of my own creation. It's a hitter's WAR total divided by his total plate appearances and then multiplied by 500, thus giving us his WAR per 500 plate appearances. The idea is to make it easier to contextualize WAR totals across different sample sizes.
Let's kick things off with some honorable mentions.
These players received serious consideration for the final list but came up short:
- Jason Bay
- Michael Brantley
- Lorenzo Cain
- Mike Cameron
- Yoenis Cespedes
- Adam Dunn
- Jermaine Dye
- Jacoby Ellsbury
- Brett Gardner
- Carlos Gonzalez
- Luis Gonzalez
- Alex Gordon
- Josh Hamilton
- Jason Heyward
- Adam Jones
- Matt Kemp
- Carlos Lee
- Nick Markakis
- J.D. Martinez
- Magglio Ordonez
- Hunter Pence
- Grady Sizemore
- Alfonso Soriano
- George Springer
- Justin Upton
25. J.D. Drew
Stats: 5,682 PA, .280/.387/.491 (127 OPS+), 224 HR, 743 RBI, 41.3 WAR
Postseason: 206 PA, .261/.333/.408, 7 HR, 25 RBI, WS winner
J.D. Drew did not have traditional corner outfielder power, with 242 career home runs and just one 30-homer season in his 14 MLB campaigns.
However, his elite on-base skills made him a valuable player.
A 14 percent walk rate helped him post an excellent .384 career on-base percentage, which ranks among the top 150 all-time.
The St. Louis Cardinals traded him to the Atlanta Braves prior to 2004 in a deal that sent a young Adam Wainwright the other way, and he put together the best season of his career, hitting .305/.436/.569 (157 OPS+) with 31 home runs and 93 RBI to finish sixth in National League MVP voting.
He turned that career year into a five-year, $55 million contract with the Los Angeles Dodgers, but he exercised an opt-out after two seasons and joined the Boston Red Sox on a new five-year, $70 million pact.
He was worth 11.3 WAR in his five seasons in Boston, which ended up being the final five of his career, and he won a ring in 2007, when he hit .314/.352/.431 with 11 RBI in 14 playoff games.
24. Brian Giles
Stats: 6,176 PA, .289/.400/.494 (136 OPS+), 209 HR, 806 RBI, 36.8 WAR
Postseason: 31 PA, .259/.323/.296, 0 HR, 2 RBI
Here's what I wrote in an article titled "25 Forgotten MLB Sluggers from the Last 25 Years" earlier this month:
"After a pair of solid seasons in a semi-regular role with the Cleveland Indians, Brian Giles was traded to the Pittsburgh Pirates before the 1999 campaign for lefty reliever Ricardo Rincon.
He emerged as one of the best players in baseball.
During his four full seasons with the Pirates, Giles hit .309/.426/.604 for a 160 OPS+ while averaging 37 home runs and 109 RBI, hitting at least 35 home runs each year.
His 23.8 WAR during that span trailed only Barry Bonds (35.1), Alex Rodriguez (32.3), Jason Giambi (29.9), Andruw Jones (26.7), Sammy Sosa (26.6), Todd Helton (25.9) and Chipper Jones (24.3) among all position players.
On Aug. 26, 2003, he was traded to the San Diego Padres for left-hander Oliver Perez and outfielder Jason Bay, who went on to win NL Rookie of the Year the following season.
The move to Petco Park sapped his power numbers, but he still hit .285/.386/.446 with 77 home runs and more walks (463) than strikeouts (317) in his five full seasons with the Padres."
At his peak, he was one of the game's elite offensive performers.
23. Carl Crawford
Stats: 7,178 PA, .290/.330/.435 (105 OPS+), 136 HR, 766 RBI, 39.1 WAR
Postseason: 161 PA, .260/.292/.442, 7 HR, 16 RBI
At his best, Carl Crawford was one of the most dynamic players in baseball.
He led the AL in steals (55) during his first full season in the majors in 2003 at the age of 21 and developed into one of baseball's most complete offensive players in the years to come.
From 2004 through 2010, he hit .301/.344/.461 (113 OPS+) while averaging 27 doubles, 13 triples, 14 home runs, 73 RBI, 95 runs scored and 49 steals. He led the AL in steals three more times during that stretch, made four All-Star appearances and won a Gold Glove and Silver Slugger Award in 2010.
He hit the free-agent market for the first time following the 2010 season and landed a seven-year, $142 million contract from the Boston Red Sox.
Injuries took a toll from there, and he played more than 120 games in a season just one more time in his career. All told, he posted a 97 OPS+ and 3.5 WAR in 481 games with the Red Sox and Dodgers following his departure from Tampa Bay.
That disappointing end to his career makes it easy to forget just how good he was in his prime.
22. Jose Bautista
Stats: 7,244 PA, .247/.361/.475 (124 OPS+), 344 HR, 975 RBI, 36.7 WAR
Postseason: 88 PA, .243/.364/.541, 6 HR, 16 RBI
The ultimate example of a late bloomer, Jose Bautista came out of nowhere to emerge as one of the most feared sluggers in baseball.
After stints with the Pittsburgh Pirates, Baltimore Orioles, Rays organization, Kansas City Royals, New York Mets and Pirates again, he finally found a home when he was acquired by the Toronto Blue Jays in an under-the-radar trade on Aug. 21, 2008.
At 29 years old and with a middling 91 OPS+ in 2,038 career plate appearances, he exploded for a 164 OPS+ and an MLB-leading 54 home runs during the 2010 season.
The following year he hit .302/.447/.608 while leading MLB in OPS+ (182), home runs (43) and walks (132).
He rattled off six straight All-Star Game appearances during his time in Toronto, launching 272 home runs and posting an excellent .376 on-base percentage from 2010 through 2017.
His career trajectory remains among the unlikeliest in MLB history.
21. Matt Holliday
Stats: 7,981 PA, .299/.379/.510 (132 OPS+), 316 HR, 1,220 RBI, 44.4 WAR
Postseason: 314 PA, .245/.303/.421, 13 HR, 37 RBI, One-time WS winner
Matt Holliday was a productive offensive player from the get-go with the Colorado Rockies, hitting .290/.349/.488 (103 OPS+) with 14 home runs and 57 RBI in 2004 to finish fifth in NL Rookie of the Year voting.
Three years later, he made a legitimate run at MVP honors, leading the NL in hits (216), doubles (50), RBI (137) and total bases (386) while winning the batting title with a .340/.405/.607 line. He was ultimately edged out by Jimmy Rollins in the voting by a narrow margin.
He was traded to the Oakland Athletics prior to the 2009 season in a deal that sent Carlos Gonzalez the other way and then traded again at midseason to the St. Louis Cardinals where he hit .353/.419/.604 with 13 home runs and 55 RBI in 63 games.
He hit free agency that offseason but quickly re-upped with the Cardinals, signing a seven-year, $120 million contract. Over the life of that deal, he hit .288/.377/.486 (136 OPS+) while averaging 32 doubles, 20 home runs, 80 RBI, 3.0 WAR and 131 games.
He never topped 30 home runs after leaving Colorado, but he was a consistent run-producer in the middle of the lineup for a Cardinals team that was a perennial contender.
20. Gary Sheffield
Stats: 5,399 PA, .294/.394/.527 (140 OPS+), 273 HR, 869 RBI, 33.5 WAR
Postseason: 131 PA, .216/.336/.333, 3 HR, 12 RBI
Gary Sheffield was one of the most feared hitters of the 1990s.
While the bulk of his production came prior to the window of time we're talking about in these rankings, he was still extremely productive for the first six seasons of the new millennium.
Playing for the Los Angeles Dodgers, Atlanta Braves and New York Yankees, he hit .309/.408/.564 (153 OPS+) while averaging 36 home runs and 112 RBI.
That brought him to his age-37 season, and his production began to diminish from there.
That said, he still managed to post a 119 OPS+ with 10 home runs in 312 plate appearances as a semi-regular player with the New York Mets in 2009 at the age of 40.
That final season brought him to 509 career home runs, and he saw his Hall of Fame support spike considerably last season from 13.6 to 30.5 percent in his sixth year on the ballot.
19. Curtis Granderson
Stats: 8,306 PA, .249/.337/.465 (114 OPS+), 344 HR, 937 RBI, 47.0 WAR
Postseason: 244 PA, .224/.317/.424, 9 HR, 30 RBI
Curtis Granderson became the Detroit Tigers' starting center fielder in 2006, the same year they won the AL pennant. While he showed some promise that year with a 98 OPS+ to go along with 31 doubles and 19 home runs, he also led the AL with 174 strikeouts.
Suffice to say his performance the following year took more than a few people by surprise.
In his age-26 season, he hit .302/.361/.552 (135 OPS+) while trimming his strikeout rate from 25.6 to 20.9 percent. In the process, he turned in just the fourth 20-20-20-20 season in MLB history with 38 doubles, 23 triples, 23 home runs and 26 steals en route to 7.6 WAR.
After six seasons with the Tigers, he was traded to the New York Yankees in a memorable three-team deal that also sent Max Scherzer from the Arizona Diamondbacks to Detroit.
While he never again hit over .300 after that monster 2007 season, Granderson was a steady source of power, turning in 10 seasons with at least 20 home runs. That includes back-to-back 40-homer seasons with the Yankees in 2011 and 2012, as his left-handed stroke was built for Yankee Stadium's short porch.
The 39-year-old was still active in 2019, tallying 17 doubles and 12 home runs in 363 plate appearances while serving as a veteran voice on a young Miami Marlins roster.
18. Johnny Damon
Stats: 8,251 PA, .285/.355/.436 (107 OPS+), 186 HR, 875 RBI, 45.2 WAR
Postseason: 279 PA, .276/.323/.452, 10 HR, 33 RBI, two-time WS winner
Before he became one of the faces of the Boston Red Sox, Johnny Damon turned in some quietly excellent seasons as a clean-cut member of the Kansas City Royals.
In 2000, he hit .327/.382/.495 (118 OPS+) while leading the AL in steals (46) and runs scored (136) on his way to a career-high 6.2 WAR.
That was his final season in Kansas City, as he was traded to the Oakland Athletics ahead of his final year of team control. Despite lackluster numbers in his lone season with the A's (83 OPS+, 2.4 WAR), he managed to secure a four-year, $31 million deal from the Red Sox in free agency.
Those four years would define his career.
He hit .295 with a .362 on-base percentage and averaged 4.1 WAR during his time in Boston. His 461 runs scored trailed only Albert Pujols (517) and Alex Rodriguez (485) during that four-year stretch, as he set the table for one of the most potent lineups in recent memory.
After that, he jumped ship and joined the rival New York Yankees, where he racked up 14.4 WAR on a four-year deal, and he was still producing in his age-37 season as a DH with the Tampa Bay Rays.
17. Nelson Cruz
Stats: 6,939 PA, .277/.346/.527 (132 OPS+), 401 HR, 1,119 RBI, 37.9 WAR
Postseason: 181 PA, .287/.354/.659, 17 HR, 35 RBI
Nelson Cruz is used exclusively as a designated hitter these days, but he has actually played more times in the outfield (970) than DH (696) over the course of his 15-year career.
With minus-17 career DRS and a memorable misplayed fly ball in the 2011 World Series, he was never an asset defensively, but he can flat-out rake.
A late-bloomer who didn't turn in his first full season in the majors until he was 28 years old, Cruz has seemingly gotten better with age.
Over the past six seasons, he's averaged 41 home runs and 105 RBI, and his 244 long balls during that span lead all of baseball. He's also more than just an all-or-nothing masher, hitting a solid .285/.361/.555 for a 148 OPS+ during that stretch.
The 39-year-old has shown no signs of slowing down, and the 99 home runs he needs to join the 500-homer club are not completely out of reach despite his age.
16. Bryce Harper
Stats: 4,639 PA, .276/.385/.512 (137 OPS+), 219 HR, 635 RBI, 31.8 WAR
Postseason: 89 PA, .211/.315/.487, 5 HR, 10 RBI
Bryce Harper will forever be chased by the hype that comes with appearing on the cover of Sports Illustrated as a prep prospect and going No. 1 overall in the 2010 draft.
His peers voted him the most overrated player in baseball at the start of last season, according to a poll from The Athletic, on the heels of signing a massive 13-year, $330 million contract.
At the same time, he's made six All-Star appearances, slugged 219 home runs, racked up 31.8 WAR and won an MVP Award before his 27th birthday.
Simply put, the 27-year-old is as polarizing as any player in the game today.
He may never live up to his contract or the hype that surrounded him entering the year, but he's still produced at a level rarely seen from a player his age.
Even in what many deemed a disappointing first season with the Philadelphia Phillies, he posted a 125 OPS+ with 35 home runs and 114 RBI in a 4.3-WAR season.
15. Bobby Abreu
Stats: 8,596 PA, .288/.392/.471 (127 OPS+), 248 HR, 1,169 RBI, 47.3 WAR
Postseason: .281/.395/.422, 1 HR, 9 RBI
The Tampa Bay Rays plucked Bobby Abreu from the Houston Astros farm system in the 1997 Rule 5 draft and then promptly traded him to the Philadelphia Phillies for veteran infielder Kevin Stocker.
The outfielder immediately emerged as a star in Philadelphia, hitting .305/.415/.519 (141 OPS+) while averaging 40 doubles, 23 home runs, 94 RBI, 104 runs scored and 29 steals in his first eight seasons with the Phillies.
That window included seven straight 20-20 seasons, including a pair of 30-30 campaigns, and his 45.2 WAR trailed only Alex Rodriguez (66.1), Barry Bonds (63.6), Andruw Jones (48.9) and Todd Helton (48.2) among position players.
He remained productive into his late 30s, turning in one 20-20 season each with the New York Yankees and Los Angeles Angels, and it will be interesting to see if he can improve on his 5.5 percent showing in his first year on the ballot.
14. Ryan Braun
Stats: 7,199 PA, .298/.360/.533 (135 OPS+), 344 HR, 1,128 RBI, 46.8 WAR
Postseason: 112 PA, .337/.375/.500, 2 HR, 16 RBI
Ryan Braun was the No. 5 overall pick in the 2005 draft out of the University of Miami, and two years later he exploded onto the scene with a 154 OPS+ and 34 home runs in 113 games to win NL Rookie of the Year honors.
Over the first six seasons of his career, he hit .313/.374/.568 (147 OPS+) while averaging 37 doubles, 34 home runs, 107 RBI, 102 runs scored and 21 steals.
That included an NL MVP win in 2011 when he posted a 166 OPS+ with 33 home runs, 111 RBI and 33 steals in a 7.7 WAR season. The following year, he led the NL in home runs (41) while swiping 30 bases for a second straight 30-30 campaign to finish runner-up in the MVP balloting.
After an abridged 2013 campaign that was cut short by a PED suspension, he settled in as a solid run producer in the later stages of his career, though he was no longer an MVP-caliber superstar.
The past six seasons, he has logged a 120 OPS+ and averaged 22 home runs, 75 RBI and 2.0 WAR.
13. Torii Hunter
Stats: 9,251 PA, .278/.332/.465 (112 OPS+), 344 HR, 1,354 RBI, 50.3 WAR
Postseason: 208 PA, .274/.340/.414, 4 HR, 20 RBI
With 11 20-homer seasons and nine Gold Glove Awards, Torii Hunter was a dynamic talent throughout his 19-year career.
From 2001 through 2007, he hit .272/.326/.484 (110 OPS+) while averaging 32 doubles, 25 home runs, 90 RBI, 16 steals and 3.8 WAR.
After 11 years with the Minnesota Twins, he inked a five-year, $90 million deal with the Los Angeles Angels, and it was more of the same as he posted a 122 OPS+ while averaging 21 home runs and 86 RBI over the course of that deal.
He spent two seasons with the Detroit Tigers and returned to the Twins for a year to wrap up his career, and even in his final year at the age of 39, he posted a 91 OPS+ with 22 home runs and 81 RBI as a veteran leader.
Few players in recent memory have provided his combination of impact power and game-changing defense.
12. Christian Yelich
Stats: 4,043 PA, .301/.383/.492 (137 OPS+), 139 HR, 500 RBI, 31.8 WAR
Postseason: 47 PA, .194/.383/.389, 2 HR, 3 RBI
With two seasons of elite-level production in a seven-year career, it's tough to decide where to slot Christian Yelich on a list filled with players who have bodies of work nearly twice as large.
A top-10 spots doesn't seem fair to players who were good for longer, but his peak level-production the past two years makes for a compelling argument:
- 2018: 164 OPS+, .326/.402/.598, 36 HR, 110 RBI, 118 R, 22 SB, 7.3 WAR
- 2019: 179 OPS+, .329/.429/.671, 44 HR, 97 RBI, 100 RBI, 30 SB, 7.0 WAR
He took home NL MVP honors in 2018, and he might have repeated last season if a fractured kneecap had not prematurely ended his season.
Both seasons resulted in an NL batting title, and he's just now entering the prime of his career with his age-28 season on the horizon.
There is still some work to do building up his overall resume, but in terms of peak production few have matched him in the last 20 years.
11. Andrew McCutchen
Stats: 6,773 PA, .286/.378/.480 (134 OPS+), 233 HR, 819 RBI, 44.8 WAR
Postseason: 53 PA, .239/.340/.261, 0 HR, 1 RBI
Andrew McCutchen was a true five-tool talent who made an immediate impact upon reaching the majors at the age of 22 in 2009.
He began his career as more of a speed threat, averaging 25 steals over his first five seasons, but eventually developed into more of a middle-of-the-order run producer.
Over a three-year peak from 2012 through 2014, he hit .320/.405/.534 (162 OPS+) and averaged 26 home runs, 88 RBI, 98 runs scored and 22 steals.
He won NL MVP honors in 2013, sandwiched around a pair of third-place finishes in the balloting, and he landed a spot on the NL All-Star team for five straight years during his time in Pittsburgh.
The 33-year-old is no longer the same dynamic talent he was in his prime, and he missed a significant chunk of last season with a torn ACL, but his on-base skills and power still make him a valuable player.
His emergence as a star helped snap a 20-year postseason drought in Pittsburgh.
10. Giancarlo Stanton
Stats: 4,897 PA, .268/.358/.547 (144 OPS+), 308 HR, 785 RBI, 40.4 WAR
Postseason: 40 PA, .235/.325/.412, 2 HR, 3 RBI
Few players in MLB history have possessed the type of raw power that Giancarlo Stanton wields in his 6'6", 245-pound frame.
He had 154 home runs before his age-25 season, a total surpassed by only 10 players in MLB history, and it's an impressive list of all-time greats.
He's had some trouble staying healthy over the years, surpassing 125 games just four times in his 10-year career, and he only played 18 games last season.
However, he's still managed to launch 308 home runs and post a 144 OPS+ which is tied for 48th on the all-time list. That level of production is impossible to ignore.
His peak so far came during the 2017 season when he hit .281/.376/.631 while leading the NL in OPS+ (169), home runs (59) and RBI (132) for a Marlins team that finished 77-85.
Still just 30 years old, he has a chance to post some legendary numbers if he can shake the injury bug.
9. Mookie Betts
Stats: 3,629 PA, .301/.374/.519 (134 OPS+), 139 HR, 470 RBI, 41.8 WAR
Postseason: 99 PA, .227/.313/.341, 1 HR, 4 RBI, One-time WS winner
The rise to superstardom was a rapid one for Mookie Betts.
After a promising 52-game debut in 2014, he posted a 117 OPS+ with 68 extra-base hits and 21 steals in a 6.1-WAR season in 2015.
The following year he was a bona fide MVP candidate.
He hit .318/.363/.534 (133 OPS+) with 42 doubles, 31 home runs, 113 RBI, 122 runs scored and 26 steals en route to 9.5 WAR to finish second in the voting.
Two years later, he took home the hardware, hitting .346/.438/.640 (186 OPS+) with 32 home runs, 30 steals and an AL-high 122 runs scored for a Boston Red Sox team that went on to win a title.
Aside from his offensive production, he's also arguably the best defensive right fielder in baseball, racking up 112 DRS in the outfield to this point in his career.
After posting a fifth straight season with at least 6.0 WAR in 2019, he was traded to the Los Angeles Dodgers this offseason. Will he ever play a regular season game in Dodger blue before hitting the free-agent market next winter?
8. Jim Edmonds
Stats: 5,029 PA, .280/.386/.546 (139 OPS+), 272 HR, 791 RBI, 39.9 WAR
Postseason: 263 PA, .274/.361/.513, 13 HR, 42 RBI, One-time WS winner
Jim Edmonds spent the first seven seasons of his career with the Angels, posting a solid 119 OPS+ with 121 home runs and 20.5 WAR during that time.
However, none of that production factors into his spot in these rankings, as he was traded to the St. Louis Cardinals prior to the 2000 season.
Over his first five seasons in St. Louis, he was one of the best players in baseball.
During that time, he hit .298/.410/.593 (157 OPS+) while averaging 33 doubles, 36 home runs and 100 RBI. He won five Gold Glove Awards during that stretch and his 32.1 WAR trailed only Barry Bonds (51.1), Alex Rodriguez (43.5) and Todd Helton (37.5) among all position players.
He made his fourth All-Star team and won his eighth Gold Glove in 2005 before his production started to dip, but he goes down as one of the best two-way center fielders in MLB history.
7. Andruw Jones
Stats: 6,774 PA, .253/.338/.488 (112 OPS+), 354 HR, 1,032 RBI, 44.8 WAR
Postseason: 128 PA, .318/.398/.536, 6 HR, 17 RBI
Andruw Jones made his MLB debut on Aug. 15, 1996 and promptly took the baseball world by storm when he went 8-for-20 with two home runs and six RBI in the World Series at the age of 19.
The 2000 season represented an offensive breakout for the precocious outfielder, as he posted a 126 OPS+ and turned in his first 30-homer season en route to his first of what would be five All-Star selections.
Over the first seven seasons of the 2000s, he posted a 119 OPS+ while averaging 37 home runs and 109 RBI, including a monster 2005 season when he led the NL in home runs (51) and RBI (128) to finish second in NL MVP voting.
However, his offensive production was just part of the equation.
He was also a 10-time Gold Glove winner and one of the greatest defensive center fielders in baseball history, showing some of the best instincts and quick-twitch reaction ability of anyone to ever roam the position.
The fact that he has yet to crack 20 percent of the vote in three years on the Hall of Fame ballot is a crime.
6. Carlos Beltran
Stats: 10,245 PA, .278/.352/.489 (121 OPS+), 413 HR, 1,472 RBI, 65.1 WAR
Postseason: 256 PA, .307/.412/.609, 16 HR, 42 RBI, One-time WS winner
Carlos Beltran is arguably the best homegrown player in Kansas City Royals franchise history not named George Brett. He won AL Rookie of the Year honors in 1999 and quickly established himself as a superstar, despite not playing in a major market.
He was dealt to the Houston Astros in 2004 ahead of his first foray into free agency, and he posted a 135 OPS+ with 23 home runs and 28 steals in 90 games following the trade. That production helped the Astros secure a playoff spot, and he then hit .435/.536/1.022 with eight home runs and 14 RBI in 12 postseason games.
The New York Mets signed him to a seven-year, $119 million contract during the offseason, and he remained one of the most complete players in the game throughout his tenure in New York, posting 32.3 WAR over the life of that contract.
With 435 home runs and 312 steals in his career, he's one of just eight members of the 300/300 club, joining Barry Bonds, Alex Rodriguez, Willie Mays, Andre Dawson, Carlos Beltran, Bobby Bonds, Reggie Sanders, Steve Finley.
Throw in three Gold Glove Awards, nine All-Star appearances and his stellar postseason track record, and he's knocking on the door for a spot inside the top five.
5. Vladimir Guerrero
Stats: 7,327 PA, .318/.381/.549 (140 OPS+), 357 HR, 1,215 RBI, 45.9 WAR
Postseason: 188 PA, .263/.324/.339, 2 HR, 20 RBI
Vladimir Guerrero was entering his age-25 season in 2000, having already posted back-to-back 30-homer seasons with the Montreal Expos.
He hit .329/.406/.603 (154 OPS+) and averaged 36 home runs, 105 RBI and 24 steals in his final four seasons with the Expos, coming close to a 40-40 season in 2001 (34 HR/37 SB) and 2002 (39 HR/40 SB).
He inked a six-year, $85 million with the Anaheim Angels when he hit the free-agent market for the first time, then promptly won AL MVP honors in his first year with the team when he posted a 157 OPS+ with 39 home runs and 126 RBI.
Guerrero went on to average 29 home runs and 103 RBI in his six seasons with the Angels, hitting .319/.381/.546 for a 141 OPS+ in the process. That stretch of his career was worth 22.8 WAR.
He turned in one more strong season as the DH for the Teas Rangers in 2010, winning Silver Slugger honors and finishing 10th in AL MVP voting, before retiring as a member of the Baltimore Orioles the following year.
In his second year on the ballot, he was inducted into the Hall of Fame in 2018.
4. Ichiro Suzuki
Stats: 10,734 PA, .311/.355/.402 (107 OPS+), 117 HR, 780 RBI, 59.7 WAR
Postseason: 86 PA, .346/.400/.436, 1 HR, 8 RBI
Ichiro Suzuki was 27 years old with nine seasons and 1,278 hits under his belt in the Japanese League when he joined the Seattle Mariners in 2001 and took the baseball world by storm.
He led the AL in batting average (.350), hits (242) and steals (56) to win AL Rookie of the Year and AL MVP, helping the Mariners to a 116-win season in the process.
That marked the first of 10 straight seasons where he hit least .300 and racked up at least 200 hits.
He won another batting title in 2004 when he hit .372 and set the single-season record with a staggering 262 hits, and he was also an All-Star and Gold Glove winner in each of his first 10 seasons stateside.
He wrapped up his MLB career last season with 3,089 hits, a truly impressive total for someone who got a late start in the big leagues, and he should coast into the Hall of Fame as one of the best pure hitters the game has ever seen.
3. Manny Ramirez
Stats: 6,211 PA, .315/.417/.591 (159 OPS+), 357 HR, 1,149 RBI, 44.2 WAR
Postseason: 269 PA, .338/.442/.604, 16 HR, 52 RBI, Two-time WS winner
Outside of Albert Pujols and Willie Mays, there's a strong case for calling Manny Ramirez the best right-handed hitter the game has ever seen.
He had 12 seasons with at least 30 home runs and 100 RBI, two of which came before 2000 when he was still establishing himself with the Cleveland Indians.
His decision to jump ship and sign with the Boston Red Sox prior to the 2001 season altered the course of baseball history, helping lead the Red Sox to World Series title in 2004 and then again in 2007.
All told, he hit .312/.411/.588 with 274 home runs and 868 RBI over the life of his eight-year, $160 million contract, closing things out in Los Angeles where he hit .396/.489/.743 with 17 home runs and 53 RBI in 53 games following a three-team trade deadline blockbuster.
He ranks in the top 20 all-time in home runs (555, 15th) and RBI (1,831, 19th) and OPS (.996, ninth), and his huge postseason numbers for a pair of World Series winning teams only furthers his case as one of the best players of the last 20 years.
2. Mike Trout
Stats: 5,273 PA, .305/.419/.581 (176 OPS+), 285 HR, 752 RBI, 72.8 WAR
Postseason: 15 PA, .083/.267/.333, 1 HR, 1 RBI
This was tough.
All things considered, Mike Trout has a chance to go down as the greatest player in baseball history by the time he decides to call it a career.
However, these rankings were not about projecting for the future and they were not about taking a stance on the Steroid Era and how those players should be viewed historically.
They were simply about picking the 25 best guys at each position over the last 20 years, and while Trout is off to an all-time great start to his career, he has never done anything like what the No. 1 guy on this list did over a four-year stretch where he as truly a man among boys.
So for now, Trout will have to settle for the No. 2 spot.
He's already an eight-time All-Star, three-time MVP winner and owner of three 10.0-WAR seasons.
If he retired tomorrow, he would be a Hall of Famer.
1. Barry Bonds
Stats: 4,072 PA, .322/.517/.724 (221 OPS+), 317 HR, 697 RBI, 59.1 WAR
Postseason: 112 PA, .296/.527/.746, 8 HR, 19 RBI
In the end, what Bonds did from 2001 through 2004 might be the most dominant four-year stretch in baseball history, and there was simply no ignoring that:
- 2001: 259 OPS+, .328/.515/.863, 73 HR, 137 RBI, 11.9 WAR
- 2002: 268 OPS+, .370/.582/.799, 46 HR, 110 RBI, 11.7 WAR
- 2003: 231 OPS+, .341/.529/.749, 45 HR, 90 RBI, 9.2 WAR
- 2004: 263 OPS+, .362/.609/.812, 45 HR, 101 RBI, 10.6 WAR
A 256 OPS+ during that span means he was 156 percent more productive than the average hitter, at a time when offense was by no means at a premium around baseball.
He was also intentionally walked 284 times during that stretch, including an absurd 120 times in 2004 when he hit .362 with a .609 on-base percentage.
The league simply stopped pitching to him because they couldn't figure out how to stop him.
Alex Rodriguez took the No. 1 spot on our third basemen rankings, and throughout the unveiling of these rankings players have simply been assessed on what they accomplished on the field, so the PED question is not part of the conversation for the sake of these rankings.
Going solely on the on-field body of work, Bonds might be the best player in baseball history, and his historically significant four-year stretch at the beginning of the 2000s is enough for him to claim the No. 1 spot.
All stats courtesy of Baseball Reference and FanGraphs, unless otherwise noted.