Randy Johnson (3-4) scattered ten hits and four runs -- three earned -- over eight innings to earn the victory.
Matt Mantei struck out the side in the ninth to get his fifteenth save.
New York (48-69) took the lead early in the first inning when first baseman Jason Phillips singled into right center driving home Roger Cedeno. After Arizona battled back to tie it in the second, Phillips gave the Mets the lead again with another single, but Craig Counsell's sacrifice fly knotted it at 2-2.
Jason Phillips put the Mets ahead once more in the fifth with an RBI base hit. It didn't last for long.
The Diamondbacks (62-55) staged a two-out rally in the bottom half against Al Leiter (11-6). Matt Kata singled, stole second, and scored on Craig Counsell's single into left. Luis Gonzalez then tripled into right field to give Arizona a 4-3 lead.
Junior Spivey's double in the sixth extended the margin to two.
Ty Wigginton began the eighth inning with a solo homer, his eighth of the season.
Pinch hitter Alex Cintron put the game away with a triple into deep right center against Jaime Cerda in the bottom of the eighth inning.
Al Leiter -- who was 3-0 with a 1.04 ERA in four starts since coming off the disabled list -- pitched five innings, allowing five hits and four runs, three earned, while walking two and fanning four.
OF Roger Cedeno entered the game 23 for his last 55 (.418)... 1B Tony Clark was not available after leaving Saturday's game with a bruised right shoulder... Mondesi would have been out easily in the second if C Vance Wilson had not dropped the throw... Prior the Spivey's RBI double in the sixth, Phillips dropped the throw on Mondesi's ground ball... LHP Randy Johnson entered 4-2 with a 2.74 ERA in seven career starts against the Mets... OF Cliff Floyd left the team to be with his ailing father in Florida... RHP Aaron Heilman (1-5, 7.75) goes up against RHP Sidney Ponson (14-7, 3.71) in the series opener against the Giants Tuesday evening...