There is no shortage of greatness in the top-25 batting seasons in MLB history
Baseball is a game that has been around longer than any of the four major professional sports in the United States of America. Its history is long, and has many twists, turns, evolution, and permutations.
In the early days, slap hitters sprayed the ball all over the diamond, but rarely homered. MLB livened up the ball in the 1920s, made it too lively in the 1930s, and then raised the mound to give the pitchers an advantage until that got too far out of hand. Performance-enhancing drugs changed the course of the game in the late 1990s. The league got tough on drugs, swinging things back to the pitchers, but the rise in full-season travel ball has given MLB younger stars putting up historic numbers before the age of 25.
Picking out the top-25 offensive seasons in MLB history is a difficult task. The game has changed so much over the course of the last 150 years. Comparing past seasons to today is impossible. Pitchers throw harder, and with sharper break than in the glory days of Babe Ruth and Mickey Mantle, but the limits of the human eye remain the same.
There are a few great metrics like WAR and OPS+ that attempt to strip away the passage of time and create fair cross-generational comparisons. Babe Ruth holds seven of the top 12 single-season spots for position-player WAR. There is a small chance that he was an alien sent from outer space to teach the rest of us how to hit. However, in the interest of sharing more history, other considerations were taken when making this list, so as to keep it from turning into an all-Ruth post. Read on for the top-25 batting seasons in MLB’s lengthy history.
25. The Great Home Run Chase of 1998
We know now that everything that unfolded in the great summer of 1998 was a work of fiction. Mark McGwire and Sammy Sosa were juiced to the gills as they raced to take down the single-season record of Roger Maris that had stood for almost 40 years.
McGwire had been building up to the chase for several years, having hit 58 home runs in 1997 and 52 in 1996. It seemed only a matter of time before he would take down Maris. Sosa was an unexpected entrant into the pursuit of history. His spot was supposed to be occupied by Ken Griffey, who had hit 56 home runs in 1997. Griffey would finish a distant third to McGwire and Sosa in 1998 with another 56-homer season.
It was too easy to turn a blind eye to the fact that McGwire and Sosa were no longer fully human in appearance by the time they both blew past Maris and his record. We were all having too much fun falling in love with baseball again after the 1994 strike. Sosa, with his bubbly personality, brought the fun side out of the shy McGwire, making for must-see television all summer.
It is not a stretch to call this summer the one that saved the future of MLB. The 1998 chasae is viewed through a different lens in hindsight, but is historical importance for baseball cannot be overlooked.

24. Frank Robinson, 1966
- The Numbers: Won AL Triple Crown and MVP, .316/.410/.637, 49 homers, 122 RBI, slugged .857 in World Series and won MVP
In 1966, MLB had still not lowered the mound, making the league very pitcher-friendly. That could not stop Robinson, and his Triple Crown is one of the more impressive feats in baseball history given the environment in the league at the time.
Robinson’s first season with the Baltimore Orioles could not have gone any better. He led the league in nine major offensive categories in addition to the three main Triple Crown statistics. Robinson produced career-highs in home runs, slugging, and OPS on his way to the AL MVP.
The great season continued into the World Series. Robinson led the Orioles to a sweep of the Los Angeles Dodgers. In four games, he had three extra-base hits. The Orioles went to the World Series four times in Robinson’s six years with the franchise. The trade that sent Robinson to Baltimore for Milt Pappas will forever be remembered as one of the most lopsided in MLB history. Robinson went into the Hall of Fame wearing an Orioles hat in 1982.

23. Joe DiMaggio, 1941
- The Numbers, 56-game hitting streak, .357/.440/.643, 30 homers, 125 RBI
From May 15 to July 16 of the 1941 season, Joe DiMaggio went on one of the greatest runs in MLB history. For 56 straight games, DiMaggio got at least one hit, obliterating the old record streak of 44 games. Over the course of the streak, he batted .408 with 15 home runs and 55 RBI. The day after the streak ended, DiMaggio went on another 16-game hitting streak.
The closest anyone has gotten to DiMaggio’s 56-gamer is Pete Rose, who reached 44 in 1978. Paul Molitor hit safely in 39 straight games in 1987, while Jimmy Rollins hit in 38 spanning the end of the 2005 season and beginning of 2006. MLB can usually count on at least one player getting close to 30 every year, but no one has made it much further.
By their own nature, hitting streaks are fluky. Dan Uggla, who no one would mistake for a contact hitter, had a 33-game streak in 2011. That tied him with the longest streak of Hall of Famer Rogers Hornsby. Uggla is obviously no Hall of Famer.
Nobel winners and Harvard mathematicians have tried to estimate the likelihood that another hitter will pop off a 56-game streak. Let’s just say the smart guys aren’t too bullish on the chances of DiMaggio’s record falling. One study estimated that baseball would have to have 52 lifetime .350 hitters (there are only three) for there to be a 50 percent chance DiMaggio’s record is broken.

22. Alex Rodriguez, 1998
- The Numbers: .310/.360/.560, 42 homers, 124 RBI, 46 steals
Alex Rodriguez used performance-enhancing drugs, that much is certain. When he began using them, however, is up for debate. A-Rod may never truly come completely clean on his usage of steroids and the like.
It feels like a safe assumption that Rodriguez was not using PEDs in 1998 when he completed the third 40-40 season in MLB history. It is a very impressive accomplishment considering A-Rod was in his age-21 season at the time. He joined admitted PED user Jose Canseco and Barry Bonds in the club. Bonds went 40-40 in his age-31 season. Rodriguez had debuted in 1994 at the age of 18.
Rodriguez was a generational talent at shortstop — a five-tool player in every sense of the word. He hit 54 doubles and won a batting title with a .354 batting average in his age-20 season. A-Rod had 189 home runs and 133 stolen bases before his age-25 season. Rodriguez got the monster contract with Texas, started using steroids, and tarnished his reputation forever. Instead of going down as one of the greatest players in MLB history, Rodriguez will likely not even make the Hall of Fame.

21. Tony Gwynn, 1994
- The Numbers: .394/.454/.568, 165 hits in only 110 games
No one has come closer to batting .400 since Ted Williams than Tony Gwynn. Were it not for the players’ strike that cut short the 1994 season, he may have been able to lift his batting average from .394 to .400 and join the immortals. Unfortunately, we will never know, and no one has gotten closer since.
Gwynn was on track for over 240 hits in 1994 before the strike ended the season. He was having one of the best contact-hitting seasons in MLB history, having struck out only 19 times in 475 plate appearances. Gwynn was an artists with the bat, and the 1994 season kicked off four straight batting titles.
Mr. Padre excelled at hitting the ball to the opposite field — the 5.5 hole between shortstop and third base was his favorite place to hit the ball — and he had 29 hits and batted .446 when hittin the ball to left field in 1994.
MLB fans and Gwynn were robbed of the chance to see him chase .400 for the full season thanks to the strike. If Gwynn had been given a chance to play out the full 162-game slate in 1994, he may have joined Ted Williams and the .400 club. As it stands, it has been almost 80 years since the last hitter batted .400, and there does not appear to be a chance anyone will challenge in the coming years.

20. Ty Cobb, 1911
- The Numbers: .420/.467/.621, 248 hits, 147 runs, 47 doubles, 24 triples, 83 steals
Few players in MLB history have played baseball like the great Ty Cobb, who viewed baseball as an all-out war on his competition. There is perhaps no single season in his career that better illustrates that than his 1911 season.
At the end of the 1910 season, Cobb was locked in a fierce race for the batting title with Nap Lajoie. Cobb was leading by a few percentage points and decided to sit out a few games at the end of the year. Lajoie picked up six bunt hits in a double header to pass Cobb. After it was revealed that Lajoie’s opponent had intentionally allowed him to reach over hatred of Cobb, the title was given back to Cobb.
Suffice to say, Cobb entered 1911 with even more of a bloodlust. He would go on to record the highest batting average of his career and set a new 20th Century record. Cobb battled for the batting title with Shoeless Joe Jackson, and employed his own devious plot to break his competitor. Cobb and Jackson were friends off the diamond as they both hailed from the rural south, but Cobb froze Jackson out for an entire series. He believed this ultimately caused Jackson to fall apart.
Cobb set 90 MLB records during his career and is still the all-time leader with a .366 batting average. He also stole home 54 times, another record of his that has not and will never be broken.

19. Ryan Howard, 2006
- The Numbers: .313/.425/.659, 58 homers, 149 RBI, 383 total bases
Ryan Howard followed up his Rookie of the Year from 2005 with an epic season that ended with him being named the NL MVP. His first full season in the big leagues was one of the best power seasons after the introduction of steroid testing. No player has hit more home runs in a season since MLB began testing for drugs and issuing suspensions in 2005.
In 2006, the league had not figured out the holes in Howard’s swing. The extreme infield shifts had not become popular, either. Howard would become the first prominent victim of the shift, and he would never approach a .300 batting average after 2006.
Howard split his home runs evenly — 29 at home in hitter-friendly Citizens Bank Park, 29 on the road. He was at his best in the second half, batting .355/.509/.751with 30 home runs. As the Phillies fought for a playoff spot, Howard slugged .750 in both August and September with 23 total home runs and 62 RBI. He drove in 41 runs in the month of August alone, and finished the year one short of 150 knocked in.
Though Howard would lead MLB in home runs again in 2008, and had two more RBI crowns, his career would take a steep decline after he injured his Achilles in 2011. Howard was never the same after losing most of his lower body strength due to injury. He hit 286 home runs in his first eight years in the big leagues, but would finish with only 382, assuming he does not find another team to give him a shot.

18. Stan Musial, 1948
- The Numbers: .376/.450/.702, 39 homers, 131 RBI, 230 hits, 46 doubles, 18 triples, NL MVP
No one dominated the post-WWII baseball quite like Stan Musial. He batted .346/.428/.578 in the decade with three batting titles and three NL MVP awards. Musial had four seasons in the decade where he led the league in hits, doubles, and triples. His finest season came in 1948.
In 1948, Musial finished a home run shy of the Triple Crown. He actually had hit the necessary homer, but it was nullified by a rained out game that was not completed. Musial won the batting title by 43 points, led in OBP by 27 points, and was tops in slugging percentage by a whopping 138 points. It was the largest margin for the slugging title since Rogers Hornsby in 1925. Musial was awarded his third MVP for the 1948 performance.
Musial picked up three or more hits in 27 games in 1948, had six games with two doubles, but surprisingly only had one game with more than one home run. He was a man all about consistency and carried a batting average above .400 until the middle of July. Even better — Musial batted .415 on the road with 23 of his 39 home runs and 76 RBI in 78 games. He finished his career with seven batting titles, three World Series wins, and 11 more top-ten finishes in the MVP vote.

17. Murder’s Row, 1927
One spot on this list is given to an entire team, the Murderer’s Row 1927 New York Yankees, who put on an offensive display for the ages while running roughshod over the American League. This was the year that Babe Ruth hit his record 60 home runs, but he had plenty of help from his teammates.
As a team, the Yankees batted .307/.384/.488. Discounting their pitchers, since this was still pre-DH, the team slugged over .500. The Yankees scored 975 runs on the year and only had eight losing streaks on their way to winning 110 games and outscoring their opponents by a record 376 runs. Put in different terms, the Yankees average margin of victory was nearly 2.5 runs, and they won 43 games by five runs or more.
Ruth and Lou Gehrig were the biggest stars on this team. Gehrig drove in 173 runs and batted .373 in one of the greatest individual seasons in MLB history. Earle Combs matched Ruth’s .356 batting average and had 36 doubles with 23 triples. Bob Meusel hit .337 with 47 doubles and had 24 steals. Tony Lazzeri also batted above .300 and drove in over 100 runs. The poor Pittsburgh Pirates never stood a chance in the World Series as the Yankees steamrolled them in four games, scoring 23 runs against Pittsburgh’s ten.

16. Mickey Mantle, 1956
- The Numbers: MLB Triple Crown, .353/.464/.705, 52 homers, 130 RBI, 210 OPS+
Every young outfielder who arrives in the big leagues at a young age, possessing all five tools and destined for early success, is compared to the great Mickey Mantle. His age-24 season was one for the as he won the MLB Triple Crown, the MVP, and led the Yankees to the World Series.
Mantle’s five tools were all on display in 1956. He was batting well over .400 by the end of May before coming down to Earth slightly. For the year, he batted .369/.472/.746 at Yankee Stadium with 27 home runs. The 1956 season would also mark the first time Mantle made a run at breaking Babe Ruth’s record of 60 home runs. He hit 16 home runs in May, and had 29 homers at the All-tar break. Mantle had seven two-homer games, but did not have a three-homer game.
All of Mantle’s best years came before the age of 30. He broke his foot in 1963 when he got it caught in a fence in a freak accident. That type of injury would not have happened in modern-day baseball. He had also injured his knee in 1951 when he caught himself on a drain pipe. Mantle did not hit over .300 or more than 30 home runs over his final four seasons. Up until his death, Mantle continued to refer to the 1956 season as his favorite year of professional baseball.
Who knows how great Mantle could have been had injuries not derailed the second half of his career. As it stands, he won three MVP awards, won an MLB Triple Crown, led the league in home runs four times, and helped the Yankees to seven World Series titles. Mantle was an easy choice for MLB’s All-Century team, and is still one of the top-five offensive center fielders in baseball history.

15. Mike Trout, 2012
- The Numbers: .326/.399/.564, 30 homers, 49 steals, AL Rookie of the Year
No one in MLB history has been better at a younger age than Mike Trout, and his rookie season in 2012 announced to the world that he was going to live up to the hype and then some. Trout posted the highest single-season WAR of any player 22 and under. His well-rounded year kicked off a debate in the MVP voting. Ultimately, Miguel Cabrera won for his Triple Crown, but Trout had the better season by all of the advanced metrics.
Trout’s rookie year showed he was about to take over the league for good. In his rookie season, he led the major leagues in runs and stolen bases and the American League in OPS+ and position-player WAR. The 2012 season is still Trout’s highest WAR season, although he may change that this season.
This near-MVP season for Trout may not measure up against some of the other great offensive seasons in MLB history in terms of the overall counting stats, but it is so much more impressive because of his age. The best month of the year for Trout came in July when he batted .392/.455/.804 with ten home runs and 23 RBI. Ultimately, the rookie wore down just a bit in August and September, which cost him the MVP and his team a playoff spot.

14. Rogers Hornsby, 1924
- The Numbers: .424/.507/.696, 227 hits, 222 OPS+, 43 doubles
Of all the hitters to bridge the gap between the dead ball and live ball eras, Rogers Hornsby may have come through the best. The .424 average that Hornsby posted in 1924 is the highest batting average of any player after 1920 and is the fifth-highest in MLB history.
Hornsby had all the ball-striking abilities of a slap hitter in the early 1900s with the power and ability to drive the ball of the big sluggers that dominated the second half of his career. He finished his career with three .400 seasons, but also had seven seasons with a slugging percentage higher than .600.
While Ruth and Gehrig dominated the American League in the 1920s, Hornsby was the best player in the National League. For the entire decade, he batted .382/.460/.637 with 250 home runs and 1,153 RBI. His Cardinals won the World Series in 1926 and went again in 1929. Hornsby does not quite get the same historical love and romanticized treatment of the Ruths, Gehrigs, Williamses, and DiMaggios of the world because he did not play in New York, but he should be. His .358 career batting average is second all time.

13. Bryce Harper, 2015
- The Numbers: .330/.460/.649, 42 homers, 118 runs, 124 walks
There have certainly been better seasons than Bryce Harper’s 2015 effort in MLB history. He did not set any records. Heck, he did not even drive in more than 100 runs. No, what is special about this season is the fact that Harper did it in his age-22 season.
The great Mickey Mantle, who Harper is often compared to and admires greatly, did not turn in a season with a slugging percentage above .600 until his age-23 season and did not post an OPS higher than Harper’s until his age-24 season.
Harper began the season slowly. He was batting only .245/.405/.457 on May 5 with five home runs. On May 6, Harper hit three home runs against the Miami Marlins, two more the next day, and one more the following day. By the end of that three-game stretch, Harper had hit six home runs and driven in 11. Over the final five months of the season, Harper batted .349/.473/.691 with a home run every 11.5 at-bats.
This year was all the more impressive due to the fact that most of the Nationals lineup struggled for the entire year. Harper had virtually no protection, and pitchers could pitch around him at will. He drew 124 walks, but punished almost every pitch that caught the plate. Harper struggled at times in 2016 while trying to deal with being pitched around. That slump is in the past now, and Harper is putting up the best numbers of his career in 2017.

12. Ted Williams, 1941
- The Numbers: .406/.553/.735, 37 homers, 120 RBI, 147 walks
Ted Williams had hitting down to a science, even at the age of 22. He is the last MLB player to bat .400 for an entire season. It came down to the final day of the season, and Williams declined the choice to sit out and keep his average safe at .400 even. He went out and registered four hits on the second-to-last day of the year and then got two more in the last game to push his average up to .406.
At one point in June of 1941, Williams had his batting average all the way up to .436. His two best months of the year were in May and July when he batted .436 and .429, respectively. Williams also had a streak of 69 straight games reaching base and had an on-base percentage better than .500 in every month but April.
In addition to his lightning-quick wrists, Williams had one of the best batting eyes in the history of baseball. He knew every part of his strike zone, specifically which zones he could handle and which he couldn’t. Williams nearly posted a second season with a .400 average at the age of 38 in 1957. He hit .388 that year and had his average as high as .393 in August. Williams retired with 521 home runs and is still the all-time leader in on-base percentage.

11. Barry Bonds, 2004
By the time 2004 rolled around, Barry Bonds had struck enough fear into every pitcher in the league that there was almost no chance he was going to be pitched to more than twice a game. The fear, combined with what is the best batting eye in MLB history, helped him draw 232 walks (120 of them intentional) in 617 plate appearances.
Bonds ended up with only 373 official at-bats in 147 games in 2004, but still homered 45 times, once every 8.3 at-bats. He also had 27 doubles and three triples, making 70 of his 135 hits good for extra bases. No hitter in all the years of Major League Baseball that are to come will have opposing pitchers shook enough to register a .609 OBP.
The magical ride that Bonds and BALCO took us on in the early 2000s had to come to an end at some point, and 2004 was the last season before Bonds had to allow his head to begin shrinking back down to normal human levels. He was injured for most of the 2005 season, but still slugged .554 with 54 home runs in his age-41 and age-42 seasons. Bonds would have liked to continue his career after 2007, but was likely blackballed out of the league.

10. Ichiro Suzuki, 2004
- The Numbers: .372/.414/.455, MLB record 262 hits
Most of this list is composed of amazing feats of power, home runs, RBIs, the like. Let’s take a break from all that to give due praise to the greatest contact hitter in the history of baseball anywhere on the planet, Ichiro Suzuki. The 2004 season was the magnum opus for a wizard with the bat who can place the ball anywhere he wants on the field.
Ichiro broke George Sisler’s all-time record for hits in a single season by five, bettering the old mark of 257. He had five five-hit games, six four-hit games, 24 three-hit games, and 80 multi-hit games overall. Ichiro went hitless in only 26 games the entire season. He batted .399 when putting the ball in play, and picked up 57 infield hits.
Ichiro will go down as one of the most unique hitters of the modern era, and if he was never able to bat .400 for a full season, it may never happen again. It’s always been said that he could have hit 30 home runs a year if he so desired, and there’s no reason not to believe that having seen some of his batting practice displays. Perhaps because of the language barrier, Ichiro is shrouded in mystery, which only helps build his legend.

9. Hack Wilson, 1930
- The Numbers: .356/.454/.723, 56 home runs, MLB record 191 RBI
Hack Wilson is one of the greatest MLB run producers in history, but he is far from a household name. He also lived a very tortured life off the field, and died at a young age, succumbing to his own vices. Wilson was one of the kings of baseball for a few very short years from 1926 to 1930.
The best year of Wilson’s career came in 1930 when he drove in an MLB record 191 runs. That has not been approached for the past 80 years. The only player to drive in more than a run a game since 1937 was Manny Ramirez, who drove in 165 in 1999 during the height of the steroid era.
Wilson was not an unknown baseball player in the 1920s and 1930s, but he was a touch behind the true elites of his generation. Still, his record-setting year in 1930 would not have come as a complete surprise. He had driven in 159 the year before and had led the National League in home runs three times.
Major League Baseball fooled around with its balls on and off in the Twenties and Thirties, and one of the liveliest years on record came in 1930, which cannot be overlooked when evaluating Wilson’s record, and many of the other massive RBI seasons of the time. Wilson, however, topped them all — Ruth, Gehrig, Greenberg.
Unfortunately, the success of his 1930 season only served to fuel more drinking and carousing for Wilson. He showed up to spring training 20 pounds overweight. The National League also introduced a new baseball after seeing its collective batting average rise above .300 in 1930. Wilson lasted only four more seasons after driving in 191 and died penniless after a series of failed business attempts at the age of 48.

8. Lou Gehrig, 1934
- The Numbers: MLB Triple Crown, .363/.465/.706, 49 homers, 166 RBI, 409 total bases
Gehrig completed one of the rarest feats in baseball in 1934 — the MLB Triple Crown, not just an individual league Triple Crown. His 166 RBI are the most ever in a Triple Crown season, and his 49 home runs are tied with Frank Robinson who hit 49 while winning the Triple Crown in 1966.
Gehrig also led MLB in on-base and slugging percentage in 1934, but somehow finished fifth in the AL MVP voting behind three members of the Detroit Tigers. Mickey Cochrane won the award while finishing with an OPS that was almost lower than Gehrig’s slugging percentage. Gehrig lost out on the award because 1934 was one of the rare years in the 1930s that the Yankees did not win the World Series.
In 1934, Gehrig batted below .350 in only one month and drove in more than 30 runs in four months. This was perhaps not his best season in terms of the advanced metrics that have been retroactively applied to his statistics, but it is his best season on this list due to the fact that it is his only Triple Crown year and possibly the most dominant Triple Crown season ever. Gehrig’s 1934 season is certainly the biggest MVP snub in MLB history based on who beat him.

7. Carl Yastrzemski, 1967
- The Numbers: Triple Crown, .326/.418/.622, 44 homers, 121 RBI, 12.4 WAR
In 1967, Carl Yastrzemski turned in the highest WAR season by a position player not named Babe Ruth. He led MLB in home runs, RBI, OBP, slugging, OPS, and total bases. Ruth never won a Triple Crown in his illustrious career.
Yaz’s best season capped off a six-year run where he batted .303/.389/.496. After leading the league in doubles three times from 1962 to 1966, he took his power up a notch in 1967. The 44 home runs he hit would prove to be a mark that he would never top over the remainder of his 23-year career.
Yastrzemski recorded a streak of 56 games on base at one point in 1967. He also batted .332/.428/.678 at Fenway Park with 27 home runs and 74 RBI. June was the best month of his season, and he batted .381/.478/.701 with seven doubles and eight home runs. The Boston Red Sox very nearly ended their World Series curse in 1967, with Yaz batting .400/.500/.840 with three home runs and five RBI in a seven-game loss to St. Louis. Yastrzemski was inducted to the Hall of Fame on his first ballot in 1989 and finished his career with 3,419 hits.

6. Roger Maris, 1961
- The Numbers: Broke Babe Ruth’s single season record with 61 home runs, led AL with 141 RBI
The year 1961 was a magical season for Roger Maris as he broke the hallowed single-season home run record of Babe Ruth with 61. Maris engaged in a drawn-out chase for the record with teammate Mickey Mantle, who would ultimately bow out with an injury with 54 home runs.
Sixty home runs was a beloved record by MLB fans all across the country, and Maris was not viewed as a worthy challenger of the record held by Ruth. Mantle — that’s fine. Maris, however, was not good to take the crown of an all-time great — with an extra eight games on the schedule, no less.
The pressure to capture the record from Ruth really weighed heavily on Maris by the end of the chase. His hair was falling out, and he was under intense scrutiny. Ultimately, he tied Ruth’s record in the 159th game of the year and then hit the record-breaker in the sudden-death playoff on October 1.
Maris only hit one home run in the first month of the year while batting .204. After getting that out of the way, he went on to hit more than 10 home runs in five straight months, en route to his second AL MVP award.
After his epic year in 1961, Maris went on to have one more solid season in 1962 before gradually declining. He finished his career with 275 home runs, but will forever be remembered for one magic summer. He remains the last player to hit more than 60 home runs who was not associated with performance-enhancing drugs.

5. Honus Wagner, 1908
- The Numbers: Led MLB with a .354/.415/.542 line, 201 hits, 39 doubles, 19 triples, 109 RBI, 53 steals
Possibly the greatest all-around shortstop in MLB history, Honus Wagner battled Ty Cobb for the title of greatest player of the dead-ball era. Cobb himself though of Wagner as a bigger star. Both went into the Hall of Fame with the inaugural class in 1936.
Wagner almost did not play in 1908, threatening retirement if he did not receive a pay raise. In the days before free agency, this was the last resort for players unhappy with their pay. Wagner eventually received a raise up to $10,000 — less than $300,000 in today’s dollar — and came back to play for Pittsburgh.
Baseball historian Bill James calls Wagner’s 1908 season the best in MLB history. Pitching dominated the year more than any other in the dead-ball era. The entire league had a 2.35 ERA, meaning scoring was about half as high as today. Wagner still drove in over 100 runs and had 68 extra-base hits while playing phenomenal defense. Project those numbers up to an environment more conducive to hitting, and you begin to see just how good Wagner was in 1908.
Wagner was one of the first MLB players to be highly aware of his marketing appeal. He licensed bats with his signature. His refusal to be associated with tobacco helped create the most valuable baseball card in history. Wagner also appeared in two movies after his playing days were over.

4. Hugh Duffy, 1894
- The Numbers: .440/.502/.694, 237 hits, 51 doubles, all-time single-season batting average record
Hall of Famer Hugh Duffy is hardly a household name, and he played for a team called the Beaneaters back before the beginning of the 19th Century. Duffy, though, is the all-time record holder with a .440 batting average in 1894. That is a record that most certainly will never be broken, regardless of what the ball is made of.
Duffy was one of the best overall hitters of the Dead Ball Era, and he was not just a mere slap hitter who beat the ball into the ground to pick up his 237 hits in 1894. Duffy led the major leagues with 51 home runs and 18 home runs in his record-setting year. He also hit 16 triples and led the league in OPS and total bases.
It’s hard to imagine what baseball looked like back in the day when a hitter could bat .440. Duffy struck out only 15 times in 615 plate appearances. Duffy spent 17 years in professional baseball and recorded 2,293 hits with a .326/.386/.451 line with 1,302 RBI. After his playing days ended, Duffy managed for the Boston Red Sox and continued working with them as a scout right up until his death at the age of 87. His .440 batting average will never be topped.

3. Babe Ruth, 1920
- The Numbers: .376/.532/.847, 158 runs, 54 homers, 135 RBI, 150 walks, 255 OPS+
Babe Ruth kicked off the Roaring Twenties with what was, at the time, the single-greatest display of power in MLB history. He became the first player ever to hit more than 30 home runs when he jumped his own record from 29 to 54 and nearly made himself the all-time career leader in just his second season as a full-time hitter.
The ball definitely changed at some point between 1919 and 1920, but Ruth was over two times better than the rest of the league in the first year of the live-ball era. This was the season where he truly became a legend and larger-than-life personality in the United States.
Ruth actually started the year rather slowly in 1920. He did not hit a single home run in April after dealing with a minor injury that limited him to only nine games and 31 at-bats. When he got healthy, though, Ruth put on a show unlike any ever seen in MLB history. He hit what is believed to be only the second homer every to completely leave the Polo Grounds on the first day of May and went on to homer 12 times in the month to set his first MLB record of the season.
May kicked off three straight months where Ruth would slug better than .900, and he batted over .440 in June and July. If you want to point to one season where everything changed in baseball history, 1920 is the place to start, and Ruth was the best of the best as the advantage swung away from the pitcher and to the hitter for the first time ever.

2. Barry Bonds, 2001
- The Numbers: .328/.515/.863, 73 homers, 137 RBI, NL MVP, 177 walks, 259 OPS+
Yep, I’m going here. Every performance-enhancing chemical compound known to man could have been coursing through the veins of Barry Bonds from 2001 to 2004, but his best season is still worthy of the second spot on this list. His 2001 season shows just how much steroids (allegedly) can help a truly elite hitter. Mark McGwire and Sammy Sosa were great power hitters on the juice, but they did not transform overnight into the most feared hitter in MLB history.
In 2001, Bonds slashed .328/.515/.863 with the record-setting 73 home runs. He kicked off a four-year run of leading the league in walks, OBP, slugging, and OPS. The 2001 season actually started fairly slowly for Bonds outside of the power department. He batted only .240 in April, but hit 11 home runs. He would go on to post two months on the year with a slugging percentage (not OPS) greater than 1.000. That means he averaged more than one base per at-bat. His seasonal slugging percentage is also the all-time MLB record.
Right-handers bore the most of the damage from Bonds in 2001. He slugged .910 against them with 56 home runs and 133 walks. Bonds had 10 multi-homer games on the year. Yes, this season marked the beginning of his PED dabbling, but there is no denying that this was the second-best season in MLB history.

1. Babe Ruth, 1923
- The Numbers: .393/.545/.764, 41 homers, 130 RBI, 170 walks, MVP, .368/.556/1.000 in World Series
The Babe has multiple entries on this illustrious list, but his best season ever came in 1923. Ruth nearly batted .400 that year, easily the highest mark of his career. His OPS+ of 239 is the sixth-highest in MLB history, and his bWAR of 14.1 is the highest ever for a non-pitcher.
Splits and detailed information are difficult to come by dating back that far, but Ruth batted an incredible .414/.554/.804 against right-handed pitching in 1923. For the months of July and August, he hit .452/.578/.858 with 18 home runs and 57 RBI. It’s quite possible that there has never been a better two-month stretch in MLB history. Ruth kept his batting average above .400 until the early days of September before a small slump knocked it down. His brilliance continued into the World Series.
Next: Best player ever for each MLB team
Over the course of the year, Ruth reached base in 51 straight games, and never went more than four games without driving in a run. He also had 61 multi-hit games and only struck out more than once in a game 21 times. Surprisingly, he did not win the Triple Crown as Harry Heilmann batted .403. For a hitter who still tops the all-time MLB leaderboards in slugging percentage, OPS, and OPS+, it is only fitting that Babe Ruth’s epic 1923 season leads the list of all-time great batting seasons.

