Derek Dietrich hit a tying home run in the eighth, and second baseman Daniel Murphy's 10th-inning error allowed Logan Morrison to score the go-ahead run in his first game in 11 months, boosting the Marlins to an 8-4 victory.
Greg Dobbs added a sacrifice fly off Rob Carson and Miguel Olivo followed with a two-run homer in the four-run 10th, eliminating the need for a repeat of Saturday's 6-hour, 25-minute marathon, won by the Marlins 2-1.
The last-place Marlins outhit the Mets 17-6, rallied from a 4-1 deficit and improved their record against New York this year to 8-3. Miami, which needed "just" 3:35 to win this one, is 10-41 against other teams but swept the Mets for the second straight weekend series.
It was the first time in 24 years that teams played a game of 20 innings or more, then went extras again the next day, according to STATS. The Houston Astros beat the Dodgers 5-4 in 22 innings at the Astrodome on June 3, 1989, a game that ended with Fernando Valenzuela playing first base for Los Angeles, then won 7-6 in 13 innings the following day.
Morrison, recovered from right knee surgery, returned to the Marlins for the first time since July 28 and went 2 for 4 with a walk. He singled off Bobby Parnell (4-3) leading off the 10th and took second on a single by Justin Ruggiano.
Adeiny Hechavarria, who hit the go-ahead single in the 20th inning Saturday, failed in two bunt attempts, then hit a potential-double play grounder to Murphy. Preparing for a quick throw to second, Murphy allowed the ball to skip off his glove and into right field.
Chad Qualls (1-0) got his first win since July 13 last year, striking out Justin Turner and Anthony Recker with the potential winning run on base in the ninth.
A day after going a franchise-worst 0 for 19 with runners in scoring position, the Mets were 2 for 8.
Jonathon Niese, pitching for the first time since May 27 after skipping a turn due to a sore left shoulder, allowed three runs — two earned — and eight hits in 6 2-3 innings with one walk and four strikeouts. After Juan Pierre singled in a 10-pitch at-bat to put two on and raise Niese's pitch count to 103, LaTroy Hawkins relieved and retired Ed Lucas on a groundout.
But Dietrich tied the score 4-all when he homered off Scott Rice leading off the eighth, the first big league home run off the 31-year-old rookie.
Tom Koehler remained winless in seven career starts and 20 appearances, giving up four runs and six hits in seven innings for Miami. The 26-year-old right-hander was born in the Bronx and went to nearby New Rochelle High School and then Stony Brook University.
He was 0 for 10 at the plate before singling down the left-field line in the seventh for his first big league hit.
Hechavarria put Miami ahead with a run-scoring single in the second, and Murphy homered leading off the bottom half.
David Wright hit a two-run double with the bases loaded in the third — Niese retreated to second, thinking the drive to deep center would be caught, and Omar Quintanilla could only make it from first to third. Murphy followed with an RBI grounder for a 4-1 lead.
Marcell Ozuna hit an RBI double off the center-field wall with two on in the sixth, and another run scored when Juan Lagares dropped the ball while transferring it from his glove to his throwing hand for an error.
NOTES: Koehler entered with two walks in 75 at-bats against right-handed hitters. ... Miami was without OF Chris Coughlan, put on the disabled list with nerve irritation in his right calf. Right fielder Giancarlo Stanton, who hasn't played since April 29 because of a strained right hamstring, could be activated Monday. ... Mets OF Kirk Nieuwenhuis, recalled from Triple-A, took a red-eye flight from the Seattle area to get to Citi Field. ... Mets manager Terry Collins had a dugout discussion with Jordany Valdespin, who was caught stealing at third base for the final out of the first inning. ... Marlins 1B Casey Kotchman missed the game because of a tight oblique muscle. ... RHP Ricky Nolasco starts Miami's series opener against Milwaukee on Monday. RHP Kevin Slowey will be pushed back to Wednesday following his seven-inning relief effort Saturday, and RHP Jacob Turner will start Tuesday.