Ranking the Top 100 MLB Players of the 2020 Season

Zachary D. Rymer@zachrymerMLB Lead WriterOctober 29, 2020

Ranking the Top 100 MLB Players of the 2020 Season

0 of 11

    Did anyone have a better all-around season than Fernando Tatis Jr.?
    Did anyone have a better all-around season than Fernando Tatis Jr.?Jed Jacobsohn/Associated Press

    The 2020 season was unlike any other in Major League Baseball history, but one thing remained constant: There were a lot of good players on display.

    We've come to present our take on the 100 best of the best.

    In coming up with our rankings, we averaged players' final WAR from Baseball Reference and FanGraphs and also looked to specific results and Statcast's many metrics for further context. Ultimately, we wanted the clearest possible picture of which hitters and pitchers truly stood out.

    Understand that this was strictly about 2020, meaning players' track records from previous years had no bearing whatsoever. And while we mainly focused on the 60-game regular season, we also acknowledged players' heroics in the expanded postseason when appropriate.

    Let's begin with some honorable mentions and then count 'em down 10 at a time.

Honorable Mentions

1 of 11

    John Minchillo/Associated Press


    • Brian Anderson, 3B, Miami Marlins
    • Kole Calhoun, RF, Arizona Diamondbacks
    • Mark Canha, OF/DH, Oakland Athletics
    • Willson Contreras, C, Chicago Cubs
    • Yasmani Grandal, C, Chicago White Sox
    • Didi Gregorius, SS, Philadelphia Phillies
    • Kevin Kiermaier, CF, Tampa Bay Rays
    • Ramon Laureano, CF, Oakland Athletics
    • Francisco Lindor, SS, Cleveland
    • James McCann, C, Chicago White Sox
    • Dylan Moore, UTIL, Seattle Mariners
    • Anthony Santander, RF, Baltimore Orioles
    • Christian Vazquez, C, Boston Red Sox



    • Edwin Diaz, RHP, New York Mets
    • Kyle Freeland, SP, Colorado Rockies
    • Kevin Gausman, SP, San Francisco Giants
    • Tony Gonsolin, SP, Los Angeles Dodgers
    • Zack Greinke, SP, Houston Astros
    • Dustin May, SP, Los Angeles Dodgers
    • Justus Sheffield, SP, Seattle Mariners

100-91: Antonio Senzatela to Cesar Hernandez

2 of 11

    Cesar Hernandez
    Cesar HernandezAssociated Press

    100. Antonio Senzatela, SP, Colorado Rockies

    WAR Average: 2.0

    With the help of his sharp command, he overcame having the lowest strikeouts-per-nine rate of all qualified starters to post one of the best seasons ever by a Rockies pitcher in terms of ERA+.


    99. Dansby Swanson, SS, Atlanta

    WAR Average: 2.3

    Neither outs above average nor ultimate zone rating rated his defense nearly as highly as defensive runs saved, but that one high mark plus his 110 OPS+ suggest he turned a corner as a two-way shortstop.


    98. Brad Keller, SP, Kansas City Royals

    WAR Average: 1.5

    After back-to-back underappreciated performances in 2018 and 2019, he finished this season with the ninth-best ERA+ out of all pitchers who made at least nine starts.


    97. Pablo Lopez, SP, Miami Marlins

    WAR Average: 1.5

    He may not have lit up the radar gone like teammates Sandy Alcantara and Sixto Sanchez, but he jammed plenty of hitters (90th percentile average exit velocity) en route to a 124 ERA+ over 57.1 innings.


    96. Liam Hendriks, RHP, Oakland Athletics

    WAR Average: 1.4

    He finished with almost exactly the same ERA+ (235) as he had in 2019 (237), but this time he more than doubled his strikeout-to-walk ratio from 5.9 to 12.3.


    95. Devin Williams, RHP, Milwaukee Brewers

    WAR Average: 1.3

    He logged 27 innings as a rookie and permitted only eight hits and one earned run with a whopping 53 strikeouts (most on his devilish changeup) out of 100 total batters faced. 


    94. Luis Robert, CF, Chicago White Sox

    WAR Average: 1.6

    The rookie finished with a solid 101 OPS+ despite his brutal slump in September, and his seven outs above average tied him for the overall MLB lead.


    93. Jeimer Candelario, 1B, Detroit Tigers

    WAR Average: 1.6

    After doing nothing of note in 2018 and 2019, he found a home at first base and rode much-improved batted ball metrics to a 135 OPS+.


    92. Willy Adames, SS, Tampa Bay Rays

    WAR Average: 1.6

    He slipped on defense and struck out in 36.1 percent of his plate appearances, yet still hit plenty well for a shortstop in posting a 124 OPS+.


    91. Cesar Hernandez, 2B, Cleveland

    WAR Average: 1.7

    He responded to getting non-tendered by the Phillies by joining Cleveland and coming through with a solid .355 OBP and an AL-high 20 doubles, plus four outs above average at second base.

90-81: Austin Nola to Eloy Jimenez

3 of 11

    Eloy Jimenez
    Eloy JimenezNam Y. Huh/Associated Press

    90. Austin Nola, C/UTIL, Seattle Mariners and San Diego Padres

    WAR Average: 1.4

    Though he cooled upon joining the Padres at the August 31 trade deadline, this 30-year-old late bloomer nonetheless broke out with a 129 OPS+ and good framing behind the dish.


    89. David Fletcher, 2B/SS, Los Angeles Angels

    WAR Average: 1.6

    He finally put his unparalleled contact-making skills—see his 100th percentile whiff rate—to proper use in hitting .319 with a 121 OPS+.


    88. Marco Gonzales, SP, Seattle Mariners

    WAR Average: 1.8

    He averaged only 88.2 mph on his fastball but rode an AL-low walk rate and an MLB-high strikeout-to-walk ratio to a 136 ERA+ over 69.2 innings.


    87. Sonny Gray, SP, Cincinnati Reds

    WAR Average: 1.2

    He didn't have his usual control, yet he maintained elite spin rate and finished with a 129 ERA+ and 72 strikeouts in 56 innings.


    86. Julio Urias, SP, Los Angeles Dodgers

    WAR Average: 1.1

    His authored a 130 ERA+ with strong metrics in the regular season, and he subsequently separated himself from fellow Dodgers youngsters Dustin May and Tony Gonsolin with a 1.17 ERA in 23 postseason innings.


    85. Ian Happ, CF/LF, Chicago Cubs

    WAR Average: 1.5

    He proved he can succeed in spite of his swing-and-miss issues, as he managed a 131 OPS+ even though his whiff rate was in the seventh percentile.


    84. Lourdes Gurriel Jr., LF, Toronto Blue Jays

    WAR Average: 1.1

    He built on his 2019 breakout to finish with a 138 OPS+ and 11 home runs, not to mention the highest batting average of any Blue Jays regular.


    83. Jesse Winker, LF/DH, Cincinnati Reds

    WAR Average: 1.3

    His excellent batted ball metrics and extreme improvement against left-handers cleared his way to a 142 OPS+.


    82. Clint Frazier, LF, New York Yankees

    WAR Average: 1.4

    He finally got a real chance to prove himself and took advantage with a 149 OPS+ in 39 games, not to mention a much-needed advancement on defense.


    81. Eloy Jimenez, LF, Chicago White Sox

    WAR Average: 1.4

    He may be a lousy defender, but this year he made up for it with a hard-hit rate in the 98th percentile and a 140 OPS+ and 14 homers on his bottom line. 

80-71: Chris Taylor to Kyle Lewis

4 of 11

    Kyle Lewis
    Kyle LewisTed S. Warren/Associated Press

    80. Chris Taylor, UTIL, Los Angeles Dodgers

    WAR Average: 1.7

    Though not exactly one of the Dodgers' headlining talents, he enjoyed a career-high 128 OPS+ while earning one out above average at three different positions: shortstop, second base and left field.


    79. Cavan Biggio, 2B, Toronto Blue Jays

    WAR Average: 1.6

    He continued to show off his sharp eye by way of MLB's lowest chase rate, and also helped himself to a 122 OPS+ and 24 extra-base hits.


    78. Robinson Cano, 2B, New York Mets

    WAR Average: 1.1

    He made up for his rough 2019 season with his best OPS+ since his final year with the New York Yankees in 2013, not to mention three outs above average on defense.


    77. Alex Verdugo, RF, Boston Red Sox

    WAR Average: 1.8

    He did more than a passable job of filling Mookie Betts' shoes, in that he played a decent right field and hit .308 with a 126 OPS+ in 53 games.


    76. Jason Heyward, RF, Chicago Cubs

    WAR Average: 1.6

    A sharper plate approach helped him rack up nearly as many walks (30) as strikeouts (37) on his way to his best OPS+ since his rookie season in 2010.


    75. Michael Brantley, LF/DH, Houston Astros

    WAR Average: 1.4

    He only hit five home runs in the regular season, yet he still notched a third straight season with a .300 average and an OPS+ in the mid-120s.


    74. Justin Turner, 3B, Los Angeles Dodgers

    WAR Average: 1.3

    The 35-year-old was limited to 42 games by a hamstring injury, yet he hit .307/.400/.460 with a 135 OPS+ for another ho-hum offensive season.


    73. Jackie Bradley Jr., CF, Boston Red Sox

    WAR Average: 1.6

    He hasn't been the most consistent performer throughout his career, but this year's combination of a 118 OPS+ and an MLB-high-tying seven outs above average can only help his free-agent prospects.


    72. Byron Buxton, CF, Minnesota Twins

    WAR Average: 1.6

    It's hard not to cringe when looking at his .267 OBP, but Buxton made up for it by slugging .577 with more of his typical elite speed and defense.


    71. Kyle Lewis, CF, Seattle Mariners

    WAR Average: 1.6

    Despite striking out (71) twice as often as he walked (34), he cemented his two-way value with a 126 OPS+ and one out above average in center field.

70-61: Xander Bogaerts to Gio Urshela

5 of 11

    Gio Urshela
    Gio UrshelaGregory Bull/Associated Press

    70. Xander Bogaerts, SS, Boston Red Sox

    WAR Average: 1.6

    This year was another case of him hitting enough to justify his subpar defense, as he secured a third straight season with at least a 130 OPS+.


    69. Miguel Rojas, SS, Miami Marlins

    WAR Average: 1.6

    He struck out only 18 times in 40 games and hit .304/.392/.496 while playing above-average defense at shortstop.


    68. Dylan Bundy, SP, Los Angeles Angels

    WAR Average: 1.9

    After never quite figuring it out in Baltimore, he went to the Angels and let his slider lead the way to a 137 ERA+ over 65.2 innings.


    67. Zach Davies, SP, San Diego Padres

    WAR Average: 1.6

    At a time when pretty much every pitcher can hit 95 mph, it's nice to see a guy with an 88.6 mph heater rack up a 157 ERA+ through effective command, movement and sequencing.


    66. Jake Cronenworth, 2B, San Diego Padres

    WAR Average: 1.4

    Few players were more surprising than this guy, as he rose from obscurity to post a 128 OPS+ with above-average marks for every major Statcast metric.


    65. Kyle Tucker, LF, Houston Astros

    WAR Average: 1.6

    The former top prospect made good on his potential for a post-hype breakout, helping to carry Houston with a 123 OPS+ and three outs above average in left field.


    64. Brandon Nimmo, CF, New York Mets

    WAR Average: 1.6

    Following an injury-marred campaign in 2019, he rebounded to finish with a 146 OPS+ and, for the second time in three seasons, exactly a .404 OBP.


    63. Chris Bassitt, SP, Oakland Athletics

    WAR Average: 1.7

    Though he operated exclusively under the radar, he was downright dominant to the tune of a 181 ERA+ despite striking out only 55 batters in 63 innings.


    62. Carlos Carrasco, SP, Cleveland

    WAR Average: 1.6

    After being diagnosed with leukemia in 2019, he pitched like his vintage self in finishing with a career-best 157 ERA+ and 82 strikeouts in 68 innings.


    61. Gio Urshela, 3B, New York Yankees

    WAR Average: 1.8

    He revealed his 2019 breakout to be a surprisingly non-fluky performance, following it up with a .298 average and a 136 OPS+ as New York's everyday third baseman.

60-51: Teoscar Hernandez to Kyle Hendricks

6 of 11

    Kyle Hendricks
    Kyle HendricksNam Y. Huh/Associated Press

    60. Teoscar Hernandez, RF, Toronto Blue Jays

    WAR Average: 1.5

    He tore the cover off the ball—98th percentile for exit velocity and barrel percentage—in compiling a 146 OPS+ and 16 home runs.


    59. Paul Goldschmidt, 1B, St. Louis Cardinals

    WAR Average: 1.9

    He only hit six home runs, but made himself a tougher out en route to a .304/.417/.466 batting line in a return-to-form season after a rough 2019 campaign.


    58. Dominic Smith, LF/1B, New York Mets

    WAR Average: 1.8

    He finally got his chance to play every day and made the most of it with a .316/.377/.616 slash line and 32 extra-base hits, in no small part because he refused to yield to left-handed pitching.


    57. Sean Murphy, C, Oakland Athletics

    WAR Average: 1.3

    The rookie got the bulk of Oakland's catching reps and responded with a 131 OPS+ and above-average marks for his pop times and framing.


    56. Travis d'Arnaud, C, Atlanta

    WAR Average: 1.1

    A hard-hit rate in the 100th percentile paved his way to a 138 OPS+ in the regular season, and he then tallied two huge home runs in the National League Division Series.


    55. Salvador Perez, C, Kansas City Royals

    WAR Average: 1.9

    After sitting out all of 2019 recovering from Tommy John surgery, he continued to improve his barrel rate and ended up with a .333 average, a 161 OPS+ and 11 home runs in only 37 games.


    54. Will Smith, C, Los Angeles Dodgers

    WAR Average: 1.3

    Even before he went all Gemini Man in the National League Championship Series, he further cemented himself as a rising star by leading all catchers with a 164 OPS+ in the regular season.


    53. Max Scherzer, SP, Washington Nationals

    WAR Average: 2.0

    "Mad Max" turned 36 years old on July 27, yet he continued to rack up strikeouts (92 in 67.1 innings) even as his ERA+ fell to a still-respectable 123.


    52. Lance Lynn, SP, Texas Rangers

    WAR Average: 1.9

    Even after ending his season with a 10-run dud against Houston, he ultimately fastballed his way to a 136 ERA+ over an MLB-high 84 innings.


    51. Kyle Hendricks, SP, Chicago Cubs

    WAR Average: 1.9

    His 87.4 mph average fastball actually represented an improvement, yet he continued to rely on his superb command—only eight walks in 81.1 innings—on his way to a 155 ERA+.

50-41: Framber Valdez to Brandon Belt

7 of 11

    Brandon Belt
    Brandon BeltEric Risberg/Associated Press

    50. Framber Valdez, SP, Houston Astros

    WAR Average: 1.6

    He cut his walk rate way down, and thereby let his stuff do the talking in a regular season marked by a 126 ERA+ in 70.2 innings and a head-turning postseason marked by just five runs allowed in 24 innings.


    49. Zach Plesac, SP, Cleveland

    WAR Average: 1.8

    He has himself to blame for the fact that he only made eight starts, but he did well in finishing with a 201 ERA+ and 51 more strikeouts than walks over 55.1 innings.


    48. Corbin Burnes, SP, Milwaukee Brewers

    WAR Average: 2.3

    He only made nine starts, but those were a showcase for his next-level spin rate as he whiffed 70 batters and allowed only 31 hits as he compiled a 1.72 ERA in 47 innings.


    47. Cody Bellinger, CF, Los Angeles Dodgers

    WAR Average: 1.3

    The reigning NL MVP dropped his OPS+ from 169 to 113, yet he tied for the MLB lead with seven outs above average and has marked his postseason with a pennant-winning home run and an all-time catch. 


    46. Nelson Cruz, DH, Minnesota Twins

    WAR Average: 1.8

    He turned 40 on July 1, but kept hitting like a much younger man to end up with a .303/.397/.595 batting line and 16 home runs.


    45. Luke Voit, 1B, New York Yankees

    WAR Average: 1.7

    He was a bit of a one-note player, but that's fine when said note leads to a 156 OPS+ and an MLB-best 22 home runs.


    44. Bryce Harper, RF, Philadelphia Phillies

    WAR Average: 1.7

    The 2015 NL MVP only homered 13 times, but his frequent rockets (i.e., a barrel rate in the 97th percentile) spooked pitchers into boosting his OBP to .420 by walking him an MLB-high 49 times.


    43. Kenta Maeda, SP, Minnesota Twins

    WAR Average: 1.9

    The Dodgers may have been missing Maeda as he graced Minnesota with 80 strikeouts and hard-hit rate in the 98th percentile, resulting in a 161 ERA+ over 66.2 innings.


    42. German Marquez, SP, Colorado Rockies

    WAR Average: 2.0

    He tied for the MLB lead in facing 344 batters and used a steady diet of ground balls to allow only six home runs en route to a 140 ERA+ over 81.2 innings.


    41. Brandon Belt, 1B, San Francisco Giants

    WAR Average: 2.0

    His returns began to diminish after his All-Star campaign in 2017, but he came back with a vengeance this year as he rode a 96th percentile barrel rate to a .309/.425/.591 batting line.

40-31: Lucas Giolito to Tim Anderson

8 of 11

    Tim Anderson
    Tim AndersonAaron Doster/Associated Press

    40. Lucas Giolito, SP, Chicago White Sox

    WAR Average: 1.4

    The 2019 All-Star was tagged for seven runs in his season debut but then ripped off a 2.75 ERA with 94 strikeouts in his other 11 starts, which included a no-hitter August 25.


    39. Zack Wheeler, SP, Philadelphia Phillies

    WAR Average: 2.5

    Even though he whiffed only 53 batters in 71 innings, the Phillies' $118 million bet on him paid off as he tamped down exit velocity (i.e., 90th percentile) to allow only three home runs en route to a 156 ERA+.


    38. Zac Gallen, SP, Arizona Diamondbacks

    WAR Average: 2.1

    His record-setting streak of starts with no more than three runs allowed finally ended in September, yet he still whiffed 82 batters and generally muted hard contact to post a 167 ERA+ over 72 innings.


    37. Wil Myers, RF, San Diego Padres

    WAR Average: 1.7

    After his worst full season in 2019, the 2013 AL Rookie of the Year bounced back with a career-high 159 OPS+ and even played quality defense.


    36. Trent Grisham, CF, San Diego Padres

    WAR Average: 2.3

    In his first "full" season as a major league regular, he posted a 122 OPS+ and was one of only six players with double-digit homers and steals, not to mention six outs above average.


    35. Michael Conforto, RF, New York Mets

    WAR Average: 2.0

    His minus-five outs above average were no help to the Mets, but it's hard to imagine anyone putting up a .322/.412/.515 batting line in a quieter fashion than he did.


    34. Mike Yastrzemski, RF, San Francisco Giants

    WAR Average: 2.6

    Even if he did more harm than good (i.e., minus-five outs above average) defensively, any hitter who can slash .297/.400/.568 with 28 extra-base hits as a regular at Oracle Park commands respect.


    33. Aaron Nola, SP, Philadelphia Phillies

    WAR Average: 2.1

    The other Nola brother on this list rebounded from a relatively hard time in 2019 to finish with a 139 ERA+ over 71.1 innings, notably with 73 more strikeouts than walks.


    32. Luis Castillo, SP, Cincinnati Reds

    WAR Average: 1.7

    It's easiest to notice his rate of 11.4 strikeouts per nine innings, but he also stifled exit velocity (87th percentile) and reduced his walk rate to finish with a 148 ERA+ over 70 innings.


    31. Tim Anderson, SS, Chicago White Sox

    WAR Average: 2.2

    He doesn't play especially good defense and basically never walks, but he nonetheless built on last year's batting title to finish with a .322 average, 141 OPS+ and 22 extra-base hits.

30-21: Brandon Woodruff to George Springer

9 of 11

    George Springer
    George SpringerAssociated Press

    30. Brandon Woodruff, SP, Milwaukee Brewers

    WAR Average: 2.1

    One of baseball's most underrated pitchers continued his assault on opposing hitters, riding an excellent 11.1 strikeouts per nine innings and a wave of weak contact to a 149 ERA+ over 73.2 innings.


    29. Hyun Jin Ryu, SP, Toronto Blue Jays

    WAR Average: 2.5

    After leading the majors in ERA in 2019, he transitioned to the AL and struck out 72 batters and allowed only six barrels on his way to a 164 ERA+ over 67 innings.


    28. Dallas Keuchel, SP, Chicago White Sox

    WAR Average: 2.0

    His ground-ball rate was not good by his standards, yet the 2015 AL Cy Young Award winner turned back the clock and allowed only two home runs as he racked up a 224 ERA+ (third in MLB) over 63.1 innings.


    27. Anthony Rendon, 3B, Los Angeles Angels

    WAR Average: 2.3

    He was $245 million well spent for the Angels, as he finished with more walks (38) than strikeouts (31) along with an OPS+ (151) worthy of his superstar-making 2019 campaign.


    26. Brandon Lowe, 2B, Tampa Bay Rays

    WAR Average: 2.2

    In the regular season, he accumulated a 98th percentile barrel rate for a 152 OPS+ and 14 home runs, and it's to his credit that he shrugged off an October slump to homer three times in the World Series.


    25. J.T. Realmuto, C, Philadelphia Phillies

    WAR Average: 1.5

    In finishing with a 123 OPS+ and elite pop time and framing metrics, he secured his upcoming free-agent pitch as the best two-way catcher in MLB.


    24. Max Fried, SP, Atlanta

    WAR Average: 2.2

    He only struck out 50 batters in 56 innings, but his penchant for inducing soft contact—i.e., a 98th percentile hard-hit rate—led him to a 212 ERA+ in the regular season and a 3.04 ERA in the playoffs.


    23. Gerrit Cole, SP, New York Yankees

    WAR Average: 1.8

    He gave up 14 home runs, but a 151 ERA+ paired with 94 strikeouts in 73 innings—plus a 2.95 ERA in three playoff starts—made for one heck of a "down" year.


    22. Clayton Kershaw, SP, Los Angeles Dodgers

    WAR Average: 1.6

    The three-time Cy Young Award winner regained velocity and ended the regular season with his best ERA+ since 2016, and he's subsequently fought off his postseason demons with a 2.93 ERA in five outings.


    21. George Springer, CF, Houston Astros

    WAR Average: 1.9

    It took him a while to get going, but he got hot enough to finish with a characteristically excellent 140 OPS+ before adding four more long balls to his outstanding postseason track record.

20-11: Randy Arozarena to Manny Machado

10 of 11

    Manny Machado
    Manny MachadoSue Ogrocki/Associated Press

    20. Randy Arozarena, LF, Tampa Bay Rays

    WAR Average: 0.8

    Before setting postseason records for hits and home runs, he posted a 179 OPS+ and seven homers in 23 regular-season games. Put his 43 games together, and you get offensive numbers nearly worthy of Juan Soto.


    19. Dinelson Lamet, SP, San Diego Padres

    WAR Average: 2.4

    Hitters came to know the bite of his slider all too well as he piled up 93 strikeouts with only five homers allowed in 69 innings, resulting in a 205 ERA+ and a star-making season.


    18. Yu Darvish, SP, Chicago Cubs

    WAR Average: 2.9

    His WAR might overrate him, but there's otherwise little not to like about a season in which he dominated the three true outcomes—93 strikeouts, 14 walks and five homers—for a 221 ERA+ over 76 innings.


    17. Trevor Story, SS, Colorado Rockies

    WAR Average: 2.3

    He continued to play above-average defense while racking up a 118 OPS+, 28 extra-base hits and 15 stolen bases, all of which helped him maintain his place as one of baseball's top shortstops.


    16. Trea Turner, SS, Washington Nationals

    WAR Average: 2.5

    He hit .335/.394/.588 with 31 extra-base hits, 12 stolen bases and even two outs above average, resulting in one of the best performances that seemingly nobody noticed.


    15. Mike Trout, CF, Los Angeles Angels

    WAR Average: 2.1

    It says a lot about him that his 168 OPS+ and 17 homers feel like disappointing numbers, though his batted ball metrics and 94th percentile sprint speed confirm he's still an unrivaled talent.


    14. Marcell Ozuna, DH/LF, Atlanta

    WAR Average: 2.4

    Ozuna played his best, annihilating the ball—see his 97th percentile hard-hit rate—for a 175 OPS+ and NL-high marks of 18 home runs and 145 total bases.


    13. Jose Abreu, 1B, Chicago White Sox

    WAR Average: 2.7

    After declining in 2018 and 2019, he built a strong AL MVP case by slamming 19 home runs with AL-high marks for hits and slugging percentage and MLB-high marks for total bases and RBI.


    12. DJ LeMahieu, 2B, New York Yankees

    WAR Average: 2.7

    So much for his astounding 2019 season being a one-off, as he led MLB with a .364 average while also tallying elite marks with a .421 OBP, 177 OPS+ and 22 extra-base hits.


    11. Manny Machado, 3B, San Diego Padres

    WAR Average: 2.7

    After a good-not-great beginning to his $300 million contract in 2019, he lit up just about every metric—including outs above average—and ended with a career-high 158 OPS+.

10-1: Ronald Acuna Jr. to Mookie Betts

11 of 11

    Mookie Betts
    Mookie BettsEric Gay/Associated Press

    10. Ronald Acuna Jr., CF, Atlanta

    WAR Average: 2.3

    He nearly doubled his walk rate and added a .406 OBP to go with a 155 OPS+, 14 home runs and eight stolen bases, and he also improved defensively to account for two outs above average.


    9. Juan Soto, LF, Washington Nationals

    WAR Average: 2.3

    Albeit in only 47 games because of time missed, he wears the crown of the "Best Hitter in Baseball" after batting .351 and leading the league in OBP, SLG, OPS and OPS+.


    8. Jose Ramirez, 3B, Cleveland

    WAR Average: 2.8

    After a rough season in 2019, he reclaimed his MVP-caliber form with a 163 OPS+, 17 homers, 10 stolen bases and pretty good defense. He also had maybe the best September since Earth, Wind and Fire.


    7. Corey Seager, SS, Los Angeles Dodgers

    WAR Average: 1.9

    Finally healthy for the first time since 2017, he hit rocket after rocket (i.e., a 98th percentile hard-hit rate) to post a 152 OPS+ in the regular season. Come the playoffs, he kept it up with eight long balls and MVP honors in the NLCS and World Series.


    6. Jacob deGrom, SP, New York Mets

    WAR Average: 2.6

    He dialed up his unfairness by hurling his fastball at an average of 98.6 mph and staked his claim to a third straight NL Cy Young Award with a league-high 104 strikeouts and 178 ERA+ over 68 innings.


    5. Shane Bieber, SP, Cleveland

    WAR Average: 3.3

    He needed only 77.1 innings to strike out an MLB-best 122 batters and likewise topped all ERA qualifiers with a 281 ERA+. The only nit to pick is that his metrics (i.e., xERA and xwOBA) surprisingly lagged behind a fellow Ohio-based ace.


    4. Trevor Bauer, SP, Cincinnati Reds

    WAR Average: 2.6

    He had the best spin rate of any starter and dominated his 73 innings to the tune of 100 strikeouts and only 41 hits allowed, resulting in an NL-best 276 ERA+ and an MLB-best 2.17 xERA.


    3. Freddie Freeman, 1B, Atlanta

    WAR Average: 3.2

    Following a scary bout with the coronavirus, he played in all 60 games and built an NL MVP case out of an otherworldly .341/.462/.640 batting line and an MLB-high 37 extra-base hits.


    2. Fernando Tatis Jr., SS, San Diego Padres

    WAR Average: 2.7

    Even if his results didn't include a 155 OPS+, 17 homers and 11 steals, he would have a case as MLB's best player by way of his unreal hitting metrics—including 100th percentile marks for exit velocity, hard-hit rate and barrel percentage—and MLB-high-tying seven outs above average.


    1. Mookie Betts, RF, Los Angeles Dodgers

    WAR Average: 3.2

    Even before starring with his bat (.871 OPS) and especially his glove in the playoffs, he owned his first season in Los Angeles with a 149 OPS+, 16 homers, 10 steals and five outs above average. There simply was no brighter star in baseball this year.


    Stats courtesy of Baseball Reference, FanGraphs and Baseball Savant.