Los Angeles Dodgers first baseman Freddie Freeman made a final-day bid to win the National League batting championship, but New York Mets second baseman Jeff McNeil hung on take the title while riding the pine.
McNeil sat out the Mets' season-ending 9-2 win over the visiting Washington Nationalson Wednesday, leaving his average at .326.
Meanwhile, Freeman went 3-for-4 as the Dodgers downed the visiting Colorado Rockies 6-1, raising his average to .325. Had he gone 4-for-4, his average would have jumped to .327, but he flied out in the fifth inning after hitting a double and a homer and before hitting a single.
Mets manager Buck Showalter took responsibility for leaving McNeil on the bench with the individual honor on the line. Showalter said he was protecting one of the team's key players ahead of the start of a wild-card series against the visiting San Diego Padres on Friday.
"The most important thing is Friday," Showalter said. "Everything else takes second."
McNeil said of winding up as the league's top hitter, "It's definitely a dream come true. This is one of my goals in baseball is to win a batting title."
The last Mets player to win the NL batting crown was Jose Reyes in 2011.
The American League batting race also ended with the runner-up on the bench.
Yankees slugger Aaron Judge, who set the AL single-season homer record by belting his 62nd in the second game of a Tuesday doubleheader, did not play on Wednesday as New York fell 4-2 to the Texas Rangers in Arlington, Texas.
That left Judge with a .311 average, which ranked second to the .316 mark of the Minnesota Twins' Luis Arraez.
The Minnesota infielder doubled and walked twice on Wednesday as the Twins routed the host Chicago White Sox 10-1.
Arraez said of the batting crown, "This was one of my goals. I'm living a dream right now. This is amazing for me because I worked hard for this."
The most recent time a Minnesota player led the AL in batting was when Joe Mauer won his third title in 2009.
Judge led the AL in most other major offensive categories: RBIs (131), runs (133), walks (111), on-base percentage (.425), slugging percentage (.686) and OPS (1.111).
Philadelphia Phillies left fielder Kyle Schwarber finished as the NL home run king with 46, six long balls ahead of the runner-up, New York Mets first baseman Pete Alonso.
Alonso topped the NL in RBIs with 131, the same total as Judge.
Freeman led the NL in hits (199), while Toronto Blue Jays shortstop Bo Bichette compiled an AL-leading 189 hits.
The stolen-base kings were the Miami Marlins' Jon Berti (41) in the NL and the Baltimore Orioles' Jorge Marte (35) in the AL.
The AL pitching leaderboards were dominated by Houston Astros right-hander Justin Verlander, who went 18-4 to top the league in wins while posting a major-league-best 1.75 ERA.
Los Angeles Dodgers left-hander Julio Urias (17-7) was the NL's ERA champ at 2.16. Atlanta Braves right-hander Kyle Wright (21-5) was the only 20-game winner in the majors, though his 3.19 ERA didn't even crack the NL's top 10.
Right-hander Gerrit Cole led the AL with 257 strikeouts, setting the Yankees' single-season record. Milwaukee Brewers right-hander Corbin Burnes paced the NL with 243 strikeouts.
Cleveland Guardians right-hander Emmanuel Clase logged an AL-best 42 saves, while Braves right-hander Kenley Jansen topped the NL with 41 saves.
And though he did not lead the AL in any statistical category, Los Angeles Angels two-way star and reigning AL MVP Shohei Ohtani did add another piece of history to his resume in his club's season finale.
Otani's first inning on the mound against the host Oakland A's was his 162nd inning pitched on the season, making him the first player in MLB history to qualify statistically as both a hitter and pitcher.
--Field Level Media