The four unearned runs were the most allowed by Cincinnati since June 27, 2012, according to the Reds. Nobody appreciated the gifts more than Mets manager Terry Collins.
"You don't get many," he said. "You've got to capitalize on that."
Zach Wheeler (10-9) pitched six solid innings, improving to 7-1 with a 2.21 ERA over his last 13 starts. The right-hander allowed one run and five hits, struck out six and hit two batters.
"I felt fine," he said. "I knew in the bullpen that I had good stuff today."
The Reds began the day with a major league-low 62 errors. But center fielder Billy Hamilton dropped a fly ball in New York's three-run sixth, and first baseman Jack Hannahan flubbed Granderson's foul popup in the eighth. Granderson then hit a solo shot for his 18th homer.
"They make those plays 99.9 percent of the time," Reds manager Bryan Price said. "We pretty much handed them all of their runs. It's a rarity, but it stinks when it happens."
New York carried a 4-1 lead into the ninth, but Jay Bruce hit his 16th homer and Ryan Ludwick added an RBI single to get Cincinnati within one. The Reds had the bases loaded with two out when Jenrry Mejia struck out Devin Mesoraco for his 24th save, closing out a 4-2 road trip for the Mets.
"We got the win," Collins said. "That's what counts."
Mat Latos struck out five in six innings for Cincinnati. He allowed three runs and seven hits.
The Mets jumped on Latos (5-5) after Hamilton dropped Wilmer Flores' fly ball on the warning track for a two-base error with one out in the sixth. Granderson followed with a tying RBI single.
"It was one of those that was hit softer than I thought," Hamilton said. "I took one little peek at the wall. That's what did it."
After Dilson Herrera fouled out, Recker hit a drive off the facade of the second deck in left field for his sixth homer. Of Recker's 13 career home runs, 10 either have tied the game or given his team the lead, including five this season.
Latos helped himself with a two-out single in the fifth. He came around to score on Skip Schumaker's base hit.
Collins announced that RHP Rafael Montero will start Wednesday against Colorado. Montero was recalled Friday from Triple-A Las Vegas.
Wheeler improved to 5-1 with a 2.08 ERA over his last 12 road starts. He has allowed one earned run or less in eight of those starts.
Mets CF Juan Lagares committed just his third error of the season in 107 games. Hamilton committed just his second in 137 games.
Mets: Rookie C Travis d'Arnaud got the day off.
Reds: Todd Frazier's start on Sunday was his 19th straight since missing three games Aug. 15-17 with lower back problems. An All-Star third baseman, he had started eight of those games at first base.
Mets: LHP Jonathon Niese (8-10) tries for his first win over Colorado since May 12, 2011, when the Mets open a nine-game homestand Monday with the first of three against the Rockies.
Reds: RHP Dylan Axelrod (1-1) makes his first career appearance against St. Louis on Monday when the Reds and Cardinals open a four-game series.