NEW YORK -- Cody Ross hit a three-run homer in the sixth inning to give the Diamondbacks the lead for good Wednesday night as Arizona came back to beat Matt Harvey and the New York Mets 5-3 at Citi Field.
The win snapped a five-game losing streak for the Diamondbacks (43-41), who extended their lead in the NL West to 2 1/2 games over the Colorado Rockies and Los Angeles Dodgers. The Mets (36-45) lost for the third time in their past eight games.
The Diamondbacks scored twice more in the seventh as Harvey endured the worst start of his brilliant season. Harvey (7-2) saw his ERA rise from 2.00 to 2.27 after he allowed five runs on nine hits and three walks while striking out nine over six-plus innings.
The five runs tied a career high, set last Aug. 5 against the Padres, while the three walks tied a season high. The nine hits were one shy of his season high.
While Harvey endured a rare hiccup, Arizona starter Randall Delgado (1-2) enjoyed one of his finest starts as a big-leaguer. Delgado allowed two runs on seven hits and no walks while striking out a career-high nine over seven innings. It was only the fourth time in 28 starts that Delgado has thrown at least seven innings, as well as the fourth time he hasn't issued a walk.
Arizona's Eric Chavez had two hits and an RBI, Aaron Hill had two hits, and Miguel Montero had two hits, reached base four times and hit a sacrifice fly.
David Wright, Josh Satin and Daniel Murphy all hit solo homers for the Mets, who sent the tying run to the plate in the eighth when Wright followed Murphy's blast with a ground-rule double off David Hernandez. However, Hernandez got Marlon Byrd to fly out to left.
Heath Bell recorded his 15th save with a one-hit ninth.
Wright, Murphy and Eric Young each had two hits apiece for New York.
Ross, who homered in the 13th inning Monday to give Arizona a brief lead in a 5-4 loss, went deep Tuesday on a 1-0 pitch, homering a few feet beyond the left field fence. As the ball left the park, Harvey took off his cap in disgust and wiped his brow.
Harvey came out for the seventh despite having already thrown 100 pitches. He allowed all three Diamondbacks he faced to reach base via a walk to Tony Campana, a bloop single to Hill and an RBI double by Chavez.
Reliever Scott Rice allowed a sacrifice fly to Montero and consecutive walks to Martin Prado and Jason Kubel to load the bases. David Aardsma limited the damage by retiring Ross on a popup to first and striking out Cliff Pennington.
The Diamondbacks quickly mounted a threat in the first against Harvey, who has carried a no-hitter into the fifth inning or beyond in four starts this year. Hill and Chavez singled with one out and Miguel Montero walked, but Harvey wriggled out of the jam by getting Prado to hit into a double play.
Mets shortstop Omar Quintanilla helped out Harvey with a spectacular play to end the fourth, when he dived into short center field for Cody Ross' grounder and flipped the ball to Murphy to force Prado.
The Mets didn't get a runner past second until Wright reached for a low and outside pitch by Delgado and sent it over the left field wall with one out in the fourth. One out later, Satin hit his first big-league homer by crushing a 3-2 pitch to almost the same location.
NOTES: The game drew a fireworks-night sellout crowd of 41,257. ... The start was delayed one hour and 51 minutes by rain. It wasn't raining yet at the scheduled first pitch time of 7:10, but it began pouring minutes later. ... Mets RHP Shaun Marcum, who complained of tingling in his fingers during his start Monday night, remains on track to start against the Brewers on Saturday. Marcum underwent an MRI during the game Tuesday, about 24 hours after he was captured motioning to his neck and right shoulder by the SNY cameras. The MRI came back clean but Mets manager Terry Collins said he'll likely have Carlos Torres available as a long reliever or emergency starter for Saturday. ... Mets SS Ruben Tejada, who has been on the disabled list since May 30 with a right quad strain, played his second rehab game for Triple-A Las Vegas on Wednesday. ... The Diamondbacks placed INF Willie Bloomquist on the 15-day disabled list, retroactive to June 27, with a left hand contusion and recalled Campana from Triple-A Reno. Bloomquist hasn't played since he was hit in the hand by a pitch last Wednesday night. ... Diamondbacks manager Kirk Gibson said he still wasn't sure who would start for Arizona in the opener of its three-game series against Colorado on Friday night. Whoever starts will be taking the place of RHP Trevor Cahill, who went on the disabled list Monday with a right hip contusion.