Kyle Schwarber hit one of Chicago's three homers against a stunned Noah Syndergaard, and the Cubs jumped to an early nine-run advantage before closer Craig Kimbrel held off the Mets in the ninth inning for a 10-7 victory.
"We were awesome the first three innings," Chicago manager Joe Maddon said.
Nicholas Castellanos and Ian Happ also took Syndergaard (9-7) deep in the worst start of the 2016 All-Star's career. Syndergaard allowed 10 runs and three homers -- both his most in the majors -- and was pulled after three miserable innings the day before his 27th birthday.
"I'm disappointed in myself," Syndergaard said. "I had an opportunity to go out there and do something big tonight and I let the team down."
Kimbrel entered with a three-run lead and let his first two batters reach in the ninth. He escaped a dicey 3-0 count against red-hot Amed Rosario with a fielder's choice, struck out Juan Lagares and got Todd Frazier to fly out for his 12th save.
Chicago stayed two games ahead of Philadelphia for the second NL wild card and stretched its lead over the Mets to four. The Cubs also pulled within two games of the NL Central-leading Cardinals.
It was the fourth straight road win for the Cubs, who are 27-39 away from Wrigley Field.
"How about it?" Maddon said. "There's no reason why we shouldn't or can't. We have a very good ballclub, we have tried-and-true, tested kind of guys. There's no reason why we shouldn't win on the road."
New York has dropped five straight, all at home, and lost steam on an improbable second-half surge into the postseason chase. The Mets will try to avoid a three-game sweep Thursday night with ace Jacob deGrom pitching before traveling to Philadelphia for a pivotal three-game series this weekend.
"We've been in these situations before," manager Mickey Callaway said. "We've risen to the challenge. I feel like we'll do the same thing."
Jeff McNeil ended a rare 0-for-9 slide with a two-run homer, going back-to-back with J.D. Davis in the fifth. Those shots sparked a five-run inning that chased Cubs starter Kyle Hendricks. McNeil had three hits and was a triple shy of the cycle.
The Mets put runners on in the sixth, seventh, eighth and ninth, but Chicago's bullpen limited the damage. Kyle Ryan (4-2) got the win with a scoreless inning.
Chicago scored six runs and batted around in the first. Happ highlighted the burst with a two-run homer, Addison Russell had a two-run single and Schwarber hit an RBI double. Syndergaard hit a batter and threw a wild pitch, and things were made worse by an error from Rosario at shortstop.
Schwarber hit his career-best 31st homer in the second inning, and Castellanos delivered his 20th of the season in the third -- both two-run shots.
"We stayed in the strike zone and put good swings on the ball," Castellanos said. "Usually when you do that, good things happen."
Nine of the runs charged to Syndergaard were earned, and he allowed nine hits while striking out five. The right-hander had been rolling recently, entering with eight consecutive quality starts for the first time in his career. He had a 1.82 ERA in that span.
"He's been pitching so well and we know that our rotation is one of our strengths," Callaway said. "Just an off night for one of our starters."
Wilson Ramos singled for the Mets leading off the fourth to extend his hitting streak to a career-best 21 games, longest in the majors this season.
NOT SO ROSEY
Rosario, praised since the All-Star break for his strides defensively, had a lousy game with the glove. His feed to second baseman Joe Panik in the first inning missed badly and ended up in the outfield, his second error in four games after going 22 games without one. Rosario committed an even more embarrassing blunder an inning later when he misjudged Kris Bryant's popup in the rain, miscommunicated with Davis in left field and let it fall for a double.
Cubs: 1B Anthony Rizzo sat out again because of tightness in his back and thought it was unlikely he'd return Thursday. Rizzo was pulled from a game Saturday and hasn't played since.
Mets: RHP Edwin Diaz struck out the side in the eighth inning, his first appearance since being pulled from an outing Saturday with neck tightness.
Mets: DeGrom (8-7, 2.56 ERA) and Cubs LHP Jon Lester (10-9, 4.49) are set to pitch the series finale. DeGrom struck out 13 over seven innings and homered in his last start but New York lost 2-1 to Atlanta in 14 innings. He's the first pitcher since at least 1900 to homer and strike out 13 or more in the same game twice in one season.
Follow Jake Seiner: https://twitter.com/Jake-Seiner
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
World Series 2021: The best hitting and pitching tools in the Astros-Braves Fall Classic
Is Yordan Alvarez the biggest bat in the World Series? With Charlie Morton out, who's got the nastiest curveball? Kiley McDaniel has the definitive list.
World Series 2021: Dusty Baker makes these Houston Astros about so much more than a scandal
Hate Houston if you want. But as one of Dusty Baker's former players, I know there's so much to love about its manager.
Atlanta Braves' Game 2 starter Max Fried says he's 'not against' pitching Game 5 on short rest
Atlanta's Game 2 starter said, "We'll see how I feel over the next couple days," as the Braves look at pitching solutions in the wake of Charlie Morton's broken leg.
Jose Altuve breaks out to help Houston Astros tie up World Series against Atlanta Braves
Jose Altuve scored the first run of the night, then tallied the final one on a home run that moved him into a tie for second in postseason homers, as the Astros evened the World Series against the Braves.
How the Astros were able to rebound in Game 2
Eduardo Perez and Tim Kurkjian detail how Jose Urquidy, Jose Altuve and the Astros were able to get the win in Game 2.
Astros bounce back with Game 2 win to even series
The Astros score four in the second, and Jose Altuve adds a home run to level the series at one game apiece.