NEW YORK -- Cliff Pennington's RBI single in the top of the 15th inning on Thursday afternoon gave the Arizona Diamondbacks a lead they would finally hang on to in a wild 5-4 win over the New York Mets in front of what remained of an Independence Day crowd of 24,224.
Arizona also took the lead in the 13th and 14th before allowing the Mets to tie it on solo homers by Anthony Recker and Kirk Nieuwenhuis in the bottom of each inning.
But the Mets could not do it again in the 15th against the Diamondbacks' ninth pitcher, Brad Ziegler, who allowed two walks but notched his first save by getting Nieuwenhuis to ground out to first with runners at second and third.
Nieuwenhuis tossed his helmet in disgust as he crossed first base. The game ended at 6:57 p.m., a mere five hours and 46 minutes after the first pitch.
Pennington, who scored the go-ahead run in the 14th, singled home Gerardo Parra, who had started the 15th inning rally with a two-out single.
Chaz Roe (1-0) won his first big league game despite allowing the tying run in the 14th. Scott Rice, the Mets' eighth pitcher, fell to 3-5.
The Diamondbacks (44-41) won the final two games of a four-game series filled with marathon games. The opener on Monday lasted 5:13. The Tuesday night game was interrupted by rain for 1:41 in the seventh inning, and Wednesday's game was delayed 1:51 by rain.
The Mets (35-47) lost consecutive games for the first time since June 13-15.
The score was tied at 2 from the sixth through the 12th. In the top of the 13th, Cody Ross drew a bases-loaded walk to give Arizona the lead, but Recker homered off closer Heath Bell with two outs in the bottom of the inning.
The Diamondbacks took the lead again in the top of the 14th on Martin Prado's two-out RBI single, but Nieuwenhuis hit a one-out homer just over the orange home run line in left-center field.
The Diamondbacks blew a 13th-inning lead against the Mets on Monday when Ross hit a solo homer leading off the inning before the Mets scored twice in the bottom of the inning to win 5-4.
Wil Nieves had four hits for the Diamondbacks, and Prado and Tony Campana had three hits apiece. Nieuwenhuis and Marlon Byrd each had two hits for the Mets.
Starters Dillon Gee and Ian Kennedy both pitched well but were long gone by the time the game finally ended.
Gee needed just 27 pitches to face the minimum nine batters in the first three innings and ended up allowing two runs, six hits and two walks while striking out seven in seven innings. He has a 2.47 ERA in his last seven starts, a stretch in which he has lowered his overall ERA from 6.34 to 4.68.
Kennedy, who had a 6.83 ERA in five June starts, allowed two runs, six hits and two walks and tied a season high with eight strikeouts in seven innings. He set a season high with 116 pitches.
NOTES: The Diamondbacks improved to 10-6 on Independence Day and the Mets fell to 28-34 on July 4. ... Diamondbacks manager Kirk Gibson said before the game that Tyler Skaggs will be recalled from Triple-A Reno to start Friday night's game against Colorado. Skaggs, who is 1-1 with a 5.40 ERA in three starts for Arizona this year, is taking the rotation spot of Trevor Cahill, who went on the disabled list with a hip injury on Monday. ... Parra returned to the lineup after missing two games with cuts on his face and arms suffered when he landed headfirst on the Citi Field warning track in pursuit of a triple on Monday night. ... Mets LHP Jonathon Niese, who has been on the disabled list since June 21 with a partially torn left rotator cuff, had his MRI pushed back from Thursday to next Monday because his doctor is on vacation. ... The Mets' starting lineup was read, and last names spelled out, by National Spelling Bee champion, and Queens resident, Arvind Mahankali. The 13-year-old, who won the Spelling Bee by spelling "knaidel," had no trouble with "Quintanilla." ...