PHOENIX -- The New York Mets' bats finally awakened as they prepared to leave the desert.
The Amazin's went 3-4 on their trip to San Diego and Phoenix.
Diamondbacks starter Josh Collmenter became the second pitcher to surrender four homers in a game to the Mets this season, joining Philadelphia's Sean O'Sullivan on May 27 at Citi Field.
Jacob deGrom limited Arizona to three runs (two earned) on five hits and three walks in seven innings to improve to 7-4. He struck out 10 in a season-high 109-pitch effort.
DeGrom entered the game having not allowed an extra-base hit in his last 33 1/3 innings. He allowed a leadoff double to Ender Inciarte to open the bottom of the first. Arizona scored two runs in the inning, aided by a throwing error by Campbell at third base on a would-be double-play grounder by Paul Goldschmidt.
Campbell made amends a half-inning after the error. He launched a two-run homer in the second to stake the Mets to a 3-2 lead.
Granderson produced his third leadoff homer of the season in the first. He also went deep to begin the fifth. Flores gave the Mets a 5-2 lead with a solo homer in the sixth.
Streaking: Michael Cuddyer extended his hitting streak to 12 games with a fourth-inning single.
What's next: The Mets take a day off Monday, then host the defending-champion San Francisco Giants for three games. Noah Syndergaard (2-3, 3.77 ERA) opposes right-hander Chris Heston (5-4, 4.29) in Tuesday's 7:10 p.m. ET series opener at Citi Field.