Arizona ended a five-game losing streak and did so against Matt Harvey, who was touched for more runs than he had been in any other start this season.
After waiting out a long rain delay to begin the game, the Mets took the lead in the fourth on solo homers by David Wright and Josh Satin.
The Diamondbacks got to Harvey in the sixth, benefiting from a one-out walk to Miguel Montero and a single by Martin Prado. Ross then drove a two-out homer to left that gave Arizona the lead for good.
Harvey (7-2) gave up five runs on nine hits with nine strikeouts in six innings.
Randall Delgado (1-2) won for the first time as a member of the Diamondbacks, striking out nine over seven innings.
Man spent 15 hours in jail for plugging electric car into an outlet at a school
Martin Bashir resigns from MSNBC over Sarah Palin comments