Will Nieves had four hits and two RBI for the Diamondbacks, who got three hits, one RBI and one run scored from Martin Prado.
The Diamondbacks took a one-run lead into the bottom of the 13th and 14th innings but the Mets fought back both times, with a solo homer by Anthony Recker in the 13th and by Kirk Nieuwenhuis in the 14th.
Recker's home run came after Prado scored in the 13th to give Arizona a 3-2 lead. The Diamondbacks went up 4-3 in the 14th when Pennington reached on a single and then came in on a single to right by Prado.
Parra reached on a two-out single in the 15th, took third on a single by Nieves, and then scored on Pennington's single off Scott Rice (3-5).
Josh Satin walked to lead off the bottom of the 15th and advanced to second on a fielder's choice. Arizona reliever Brad Ziegler walked Omar Quintanilla, Satin and Quintanilla advanced on a groundout but Ziegler got Nieuwenhuis on a groundout to end the game and post his first save.
Chaz Roe (1-0) got the win in relief.