
Ranking Juan Soto's 2025 and MLB's 10 Greatest Non-All Star Seasons
Over the past few weeks, it has been surprising to look back at the rosters for Major League Baseball's 2025 All-Star Game and not find Juan Soto's name.
At 38 home runs and 30 stolen bases, it's almost a foregone conclusion the New York Mets star is going to end up producing just the 16th 40/30 campaign in MLB history.
The 15 already on that list were each named All-Stars in that season, but Soto was not.
Even at the time, it was a nonsensical decision to omit Soto. In our final predictions of the full All-Star rosters from the morning that the reserves were announced, we noted he ranked top-10 in bWAR among NL position players and assumed he would make the cut. But when outfielder Kyle Stowers was selected as Miami's mandatory representative, it was Soto who got squeezed out.
However, our purpose here isn't to complain about a decision made two months ago. Instead, it's to rank that decision alongside similar ones made in the past quarter century that also looked inexcusable by the end of the year.
Every other player on this list, including the honorable mentions, either posted at least 7.0 WAR on both FanGraphs and Baseball-Reference or won the MVP or Cy Young award that year. Unless there's a surprise in this year's NL MVP voting, Soto won't meet either threshold.
Honorable Mentions
1 of 11
Major Award Winners Tier
2023 Blake Snell (2.25 ERA, 3.44 FIP, 11.7 K/9, 4.2 fWAR, won NL Cy Young)
2021 Robbie Ray (2.84 ERA, 3.69 FIP, 11.5 K/9, 3.9 fWAR, won AL Cy Young)
2016 Rick Porcello (3.15 ERA, 3.40 FIP, 7.6 K/9, 4.7 bWAR, won AL Cy Young)
2010 Félix Hernández (2.27 ERA, 3.04 FIP, 8.4 K/9, 6.7 fWAR, won AL Cy Young)
2006 Justin Morneau (.321/.375/.559, 34 HR, 130 RBI, 3.8 fWAR, won AL MVP)
Two MVPs and three Cy Young winners made it into the top 10, but we had to cut these five to make room for some mighty impressive non-All Stars who didn't win a major award. Of the bunch, King Félix was the most painful omission, by far. He tossed four complete games in his final five starts of the first half and had a 1.45 ERA over his final 20 starts of the year en route to an MLB-best 2.27 ERA. But the fact that he was named the AL Cy Young with a 13-12 record on a 101-loss team was a major win for the sabermetrics world.
2002 Jim Thome (7.4 bWAR): Hey, remember pre-2010 All-Star Games, when there was no DH if an NL team was hosting? Well, Jim Thome's career-best 52 homer campaign in 2002 was a casualty of that absurd setup. He had the third-best first-half OPS (1.021) among AL hitters, but it was first basemen Mike Sweeney and Jason Giambi who he was behind and who got the nod as All-Stars instead of Thome. He made it look even worse in hindsight with a 1.254 OPS in the second half.
2003 Pedro Martínez (8.0 bWAR): Though he missed a month of action and had a 10 ER implosion in his third start of the season, Martínez entered the All-Star break with a 2.36 ERA in over 100 innings pitched. The already three-time Cy Young winner was the most valuable AL pitcher to that point in the season, and arguably a bigger "How did they mess that one up at the time?" snub than anyone who cracked our top 10.
2004 Jim Edmonds (7.2 bWAR): In our top few spots, we'll get to several even more egregious decisions from this particular season. But Edmonds requires an honorable mention because this wasn't even remotely the only time he was overlooked. From 2001-04, he was (per FanGraphs) the fourth-most valuable position player in all of baseball, behind only Barry Bonds, Alex Rodriguez and Albert Pujols. However, he was only named an All-Star in one of those four seasons (2003).
2005 Chase Utley (7.3 bWAR): Utley's run from 2005-09 was some kind of special, worth at least 7.2 bWAR and fWAR in each of those seasons. Dating back to 2000, the only other players with such a reign were Barry Bonds (2000-04), Albert Pujols (2003-09) and Mike Trout (2012-16). But the first year of that dominant half-decade didn't result in a All-Star Game appearance.
2011 Ian Kinsler (7.0 bWAR) and 2011 Dustin Pedroia (8.0 bWAR): We're lumping these two AL second basemen together, because it's just about unfathomable that neither made the cut. Granted, this was when Robinson Canó was at his peak, finishing top six for AL MVP and named an All-Star in five consecutive years from 2010-14. But how Howie Kendrick made this roster ahead of both Kinsler and Pedroia is baffling. Kinsler, in particular, ended up with 32 home runs and 30 stolen bases, this after he posted a 31/31 campaign in 2009 for which he also was not named an All-Star.
2013 Josh Donaldson (7.2 bWAR): Much like Utley's situation, this was Donaldson's breakthrough year, good enough to finish fourth in the AL MVP vote but missing out on the All-Star Game. With Miguel Cabrera well on his way to a second straight AL MVP trophy, Donaldson had no hope of starting at third base. And it was a crowded race for the reserve spot between Donaldson, Manny Machado, Evan Longoria, Kyle Seager and Adrian Beltre.
10. Bryce Harper, 2021
2 of 11
Voting: Won NL MVP
Excluding 2020 for obvious reasons, 29 of MLB's last 30 MVPs were worth at least 7.0 bWAR. At not even a 6.0 mark in 2021, Bryce Harper was very much the exception to that rule as the winner of what was a widely-split NL vote.
His omission from the All Star roster didn't feel like a snub situation at the time, either. Among the 47 NL outfielders with at least 200 plate appearances, Harper's first-half fWAR didn't even rank top 10, largely due to the fact that he missed 20 games and was a non-factor from late April into late June.
Still, an eventual MVP not even getting named an All-Star in today's era of intense scrutiny on both of those decisions is kind of wild.
June 22 was the turning point of Harper's season, though.
Heading into action that day, he had a subpar-by-his-standards .848 OPS. Beginning with an upper deck home run off former teammate Max Scherzer, Harper triple-slashed .330/.453/.702 over his final 91 games, doing everything in his power to will the Phils back to the postseason for what would have been the first time in a decade.
It wasn't enough, as they cratered down the stretch with six losses in their final seven games. But Harper did end up with an MLB-best 1.044 OPS, racking up 42 doubles in addition to his 35 home runs.
9. Juan Soto, 2025
3 of 11
Voting: TBD, but presently has third-best NL MVP odds behind Shohei Ohtani and Kyle Schwarber
It was somewhere around 100 days ago that the "What's wrong with Juan Soto?" think pieces started making their rounds, as the $765 million man was shockingly one of the weakest links during the Mets' sizzling hot start.
At the end of play on May 28—after an exceptionally rare four-game hitless drought—he was triple-slashing .224/.352/.393. On the surface, it looked nightmarish compared to what had been a line of .285/.421/.532 through his first seven seasons in the bigs.
However, it was readily apparent that he was sputtering through an almost impossibly unlucky stretch, batted ball data suggesting he ought to have an even better than usual .294 batting average and a .569 slugging percentage.
And once he broke that seal, Soto never looked back.
Dating back to May 29, he has been the most valuable player in baseball, batting .285/.429/.605 with 30 home runs and 23 stolen bases in 88 games played—which extrapolates to 55 and 42, respectively, at a 162-game pace.
What started out looking like a disastrous season has evolved into one of his most impressive yet, quite possibly headed for a top-10 finish in the majors in each of runs, home runs, RBI, stolen bases and on-base percentage. The only players in the past decade to pull that off were unanimous 2023 NL MVP Ronald Acuña Jr. and unanimous 2024 NL MVP Shohei Ohtani.
Soto's bWAR/fWAR combo pales in comparison to some of the seasons atop this list, but that's mostly because of his value subtracted on defense. As noted, he's probably going to become the first non-All Star in MLB history during a 40 HR/30 SB campaign, and he really should have been an All-Star at the time.
8. Corey Kluber, 2014
4 of 11
Voting: AL Cy Young winner
By the end of the 2014 campaign, Corey Kluber was the most valuable American League pitcher, per fWAR, as well as the most valuable pitcher in all of baseball, per bWAR—the latter of which is quite the statement, as 2014 was the year Clayton Kershaw joined 2011 Justin Verlander as the only pitchers in the past three decades to win an MVP.
However, between Cleveland sitting at 47-47 heading into the All-Star break and Kluber starting slow before ending the first half with a good-not-great ERA of 3.01, he kick-started a streak of three consecutive years in which a non-All-Star pitcher ended up winning a Cy Young.
Four starts into the year, Kluber had a 5.40 ERA. Over the next 30, though, he had a 2.12 ERA and 2.23 FIP, striking out just a shade under 30 percent of batters faced.
It wasn't enough to get 85-win Cleveland over the hump and into the postseason, but he won an AL-best 18 games, including each of his final five starts, in which he had a combined line of 40.1 IP, 5 ER, 54 K.
7. Curtis Granderson, 2007
5 of 11
Voting: 10th for AL MVP
If you care about triples even a little, Curtis Granderson's 2007 campaign was the stuff of legend.
Only 32 players in MLB history have amassed at least 23 triples in a single season, and almost all of them did so eons ago. In fact, since 1950, Granderson is the only player to record at least 22 triples in a single season, and he is the only player to get to 22 or more in each of doubles (38), triples (23), home runs (23) and stolen bases (26).
It wasn't some late surge in the triples department, either. He was already at 15 three-baggers by the All-Star break and was, per FanGraphs, the seventh-most valuable position player (regardless of league) in the first half.
Unfortunately for Granderson, though, the best season of his career was overshadowed by a veteran teammate having the best season of his career.
Magglio Ordóñez was batting .367 at the break, with eight more runs scored and 27 more runs driven in than Granderson. He was the clear top choice among Tigers outfielders.
And though both the American League and National League have had two outfield starters from the same team in each of the past two All-Star Games, there used to be more of a reluctance to accept that one team might have two of the three best outfielders in the league. (Grandy at least should have been a reserve, though.)
6. Jimmy Rollins, 2007
6 of 11
Voting: Won NL MVP
While we're on the subject of guys who racked up triples in 2007, we'd better talk about Jimmy Rollins getting omitted from the All-Star Game three months prior to winning NL MVP.
New York's José Reyes was batting .307 with 46 stolen bases at the All-Star Break, fresh off a 2006 campaign with 19 home runs and 64 stolen bases. It's little wonder that he was chosen as the NL's starting shortstop.
But Rollins (.286/.329/.518, 16 HR, 71 R, 53 RBI, 15 SB) probably should have been the reserve instead of J.J. Hardy (.280/.338/.495, 18 HR, 48 R, 54 RBI, 0 SB).
While Hardy and the Brewers faded in the second half, though, J-Roll helped lead the Phillies to a comeback for the ages, erasing what was a seven-game deficit in the NL East with 17 games to play.
With 10 stolen bases and nine extra-base hits during that 13-4 finish, Rollins got to 38 doubles, 20 triples, 30 home runs and 41 stolen bases.
In the same year Granderson became the founding member of the 22/22/22/22 club, Rollins became the only player to ever go 30/20/30/30.
Neither one was an All-Star. Go figure.
5. Joey Votto, 2015
7 of 11
Voting: 3rd for NL MVP
Heading into this All-Star break, Paul Goldschmidt was batting .340 for Arizona, on pace for nearly 40 home runs and 30 stolen bases. Anthony Rizzo was hitting .298 for the Cubs and tracking for around 30 home runs and 20 stolen bases.
They were two of the National League's five most valuable players in the first half of the 2015 campaign and obvious choices for the All-Star Game.
However, a third NL first baseman was selected to the roster. And even though the All-Star Game was in Cincinnati that year, it was L.A.'s Adrián González getting the nod with 18 home runs and an .875 OPS instead of hometown hero Joey Votto with 15 home runs and an .876 OPS.
Had the game been played anywhere else, we would totally get it. Gonzo was having a marginally better season on a Dodgers team that was 10 games ahead of a Reds squad on its way to 98 losses.
But it was a bizarre choice that Votto may have taken personally en route to his second-half rampage.
Votto triple-slashed .362/.535/.617 over his final 73 games. He had a 48-game streak of reaching base via either hit or walk, amassing 55 of each during that stretch to finish with a 1.000 OPS that ranked third-best in the majors.
And despite playing on a team that finished just one game ahead of Philadelphia for the worst record in baseball, he ended up finishing third in the NL MVP vote.
4. Jake Arrieta, 2015
8 of 11
Voting: NL Cy Young winner
What is perhaps most bizarre about Jake Arrieta missing the ASG cut in 2015 is that he had already had his breakthrough year the previous season, finishing ninth in the 2014 NL Cy Young vote with a 2.53 ERA.
The fact that he entered the All-Star break with a 2.66 ERA, 2.66 FIP and the third-best fWAR among NL pitchers didn't exactly come out of nowhere.
Granted, his most impressive start of the first half came on the final day of it, allowing just one run and two baserunners with nine strikeouts in a complete-game victory over the White Sox on July 12.
Had that performance come a few weeks earlier, maybe this ends up being a different story, as Arrieta had a modest 3.40 ERA through his first 13 starts.
The real story, though, is what happened from that point forward.
Arrieta reeled off 20 consecutive quality starts with a 0.86 ERA and a 0.70 WHIP. He tossed a no-hitter with 12 strikeouts, as well as a pair of complete-game shutouts in which he allowed just four baserunners in each.
All told, he allowed zero earned runs in 11 of those 20 starts. And while going 11-0 over the final two months of the regular season, Arrieta went at least six scoreless innings in nine of his 12 appearances. (He also tossed a complete-game shutout in the do-or-die wild-card game against Pittsburgh.)
At least from an ERA point of view, it ended up being one of the best seasons ever—and yet, not even the best of that season, as Zack Greinke edged him out with a mark of 1.66, resulting in an all-timer of a difficult decision for the NL Cy Young Award.
3. J.D. Drew, 2004
9 of 11
Voting: 6th for NL MVP
For some reason, 2004 ended up being a terrible one for correctly identifying the best players at the midpoint of the regular season.
At least with the players in our top two spots, you can see how the voters and subsequent roster-filling decision-makers came to the conclusions they did at the time.
J.D. Drew missing the cut, however, was all sorts of unforgivable.
At the All-Star break, Drew had the third-highest fWAR in the majors, trailing only Barry Bonds and Scott Rolen. And, yes, it wasn't until a few years later that WAR became the popular one-stop shop for player value added that it is today, but Drew also had the fifth-highest OPS (1.062) in the majors.
Unfortunately for Drew, both Sammy Sosa and Ken Griffey Jr. were much bigger names and were voted in as NL starters, despite producing at nowhere near the level Drew did through those first few months.
But there were a total of five outfielders named as reserves, none of whom had a better batting average, slugging percentage or home run count than Drew.
Bonds was a shoo-in for one of the spots, but Drew was clearly the National League's second-most valuable outfielder to that point in the year. Yet, in seven "aside from Bonds" tries, they failed to find their mark. (For what it's worth, Jim Edmonds should have made the team, but he was also omitted for some reason.)
Drew went on to post career-high marks for hits, runs, home runs and walks, and he should have been an All-Star for his lone season in Atlanta.
2. Johan Santana, 2004
10 of 11
Voting: Unanimous AL Cy Young winner
At his peak, Johan Santana was sensational. Not quite peak Pedro Martinez or Roger Clemens, but put his run from 2004-08 up against the best five-year stretches that Clayton Kershaw, Max Scherzer and Justin Verlander have to offer and it's at least a close call on who was more valuable, if not a clear edge for Santana.
But looking back on the first half of the first year of his reign on the mound, it does make sense that he was left off the All-Star roster.
Through 12 starts in 2004, Santana was 2-4 with a 5.50 ERA, maxing out at eight strikeouts in one start in late April. Even with an incredible surge to close out the first half, he entered the break with a 3.78 ERA and didn't quite make the cut.
From June 9 onward, though, holy expletives.
Santana reeled off 21 consecutive quality starts with an overall line of 154.1 IP, 77 H, 23 ER, 30 BB, 199 K. That's a 1.34 ERA, 0.69 WHIP and 11.6 K/9 that resulted in 18 wins.
In each of the three starts during that run that he didn't win, Santana channeled his future Paul Skenes by going at least seven innings, striking out at least 10 batters, allowing three or fewer hits and allowing two or fewer runs. He easily could have won 21 straight games.
He ended up leading the AL in both ERA and strikeouts, but finished one win behind Curt Schilling to miss out on a triple crown. He still won the Cy Young unanimously, though, and would secure a triple crown two years later.
1. Adrian Beltre, 2004
11 of 11
Voting: 2nd behind Barry Bonds for NL MVP
Adrian Beltré's magnum opus was 2004. Both the home run and RBI totals above were career bests by a wide margin. So, too, was the 1.017 OPS.
And this was the only season in which the first-ballot Hall of Famer reached 100 runs (104) or 200 hits (200).
Barry Bonds had a ludicrous .362/.609/.812 triple-slash with 45 home runs in spite of the 120 intentional walks. His 1.422 OPS was the highest by a qualified hitter in MLB history, leaving voters with little choice but to hand him his fourth consecutive, seventh overall MVP trophy.
It wasn't unanimous, though, as Beltré secured six first-place votes for his MLB-best 48 round-trippers that season.
Per FanGraphs, he had the 14th-best single season by a hitter dating back to 2000. He just had the misfortune of doing so in the same league and year as the third-best season.
Having said all that, would you believe this wasn't all that much of a snub at the time?
The magnum opus of Scott Rolen's Hall of Fame career was also 2004, and he ended the first half with a .339/.415/.599 triple-slash, an MLB-best 80 RBI and 5.5 fWAR to Beltré's 4.1.
Rolen was deservedly named the starter, and Mike Lowell getting the nod as the hot corner reserve was at least defensible after his incredible start to the year, with the two-time reigning All-Star entering June with a 1.096 OPS.
Beltré's second-half OPS of 1.106 laughably blew Lowell's .765 out of the water, though, en route to what may have been the greatest season by a non-All Star in MLB history.









