PHOENIX -- Andrew Brown's opportunities are few and far between these days and he knows he needs to make the best of them.
He certainly did that on Sunday.
"Whenever you get a chance you try to do something productive, whether it's moving a runner over, walking, bunting," he said, "whatever plus it can be to keep me here a little bit longer."
Jonathan Niese (4-6), in his first start since June 20, came off the disabled list to go six innings, giving up four runs and seven hits in his first win since May 16.
"I thought he got better as the game went on," New York manager Terry Collins said. "You know it's been awhile since he's been out there. I was very happy with the way he threw."
The Mets took two of three from the Diamondbacks and have won five of six.
The Mets scored four unearned runs in the first, three on first baseman Paul Goldschmidt's fielding error with two outs and the bases loaded.
Aaron Hill's three-run home run cut the lead to 5-4 in the third, but Brown's three-run shot made it a four-run game in the seventh.
Arizona's Cody Ross was carted off the field in the first inning with a dislocated right hip.
Ross stumbled as he approached first base while trying to beat out a grounder, then fell to the ground.
He was grimacing and grabbing his right leg as he was loaded onto the cart. After X-rays, the team announced he had dislocated his hip.
"They took him to the hospital and put it back in," Diamondbacks manager Kirk Gibson said. "They are doing more tests on him to make sure there is no fracture and just evaluate the damage. It is possible he could have surgery, but they have not determined that yet."
Niese, out for seven weeks with a partially torn rotator cuff, struck out five and walked one.
He called it "a relief" to be back, throwing without pain for the first time since the first few weeks of the season.
"It feels like good," Niese said. "There's nothing like pitching in the big leagues. It's good to get back out there with all the guys."
The Diamondbacks' Zeke Spruill (0-2), in his second major league start, gave up a one-out single to Juan Lagares in the first, then walked Daniel Murphy and Ike Davis to load the bases. Mike Baxter's grounder to first deflected off Goldschmidt's glove and all three runners scored. Anthony Recker's double brought in the fourth run.
It was the fifth error of the season for the normally reliable Goldschmidt.
"I just missed it. I was in position right there.," he said. "It is a play I make every time and right there I didn't. It hurt us, it hurt the bullpen. We had to get the bullpen in early and Zeke had to come out early due to no fault of his own. `'
After Hill's RBI double in the first cut it to 4-1, the Mets had runners at first and second with one out in the third when Omar Quintanilla singled to center. One run scored, but Cliff Pennington's relay throw from center fielder A.J. Pollock cut down Baxter trying to score from first.
Pollock led off the Arizona fourth with a single, then Goldschmidt drew a one-out walk to bring up Hill, whose shot to left cut New York's lead to 5-4.
In the seventh, Davis drew a one-out walk -- the ninth consecutive time he'd reached base -- and Flores singled. Will Harris relieved Joe Thatcher and Brown's second pinch-hit homer of the season made it 8-4.
Spruill allowed five runs, just one earned, and six hits in three innings. He walked two.
- Ross' injury opened the way for the major league debut of third baseman Matt Davidson, the MVP of this year's Futures Game. Davidson, called up from Triple-A Reno, entered the game when Martin Prado was moved from third to left to take Ross' place. Davidson singled to lead off the sixth for his first major league hit.
- The Mets face the Dodgers in Los Angeles starting Monday, with RHP Jenrry Mejia (1-1, 1.96) ERA on the mound for New York against RHP Ricky Nolasco (8-9, 3.95).
- Arizona wraps up its eight-game homestand with three interleague games against Baltimore. LHP Wade Miley (9-8, 3.56) starts the Monday night's series opener for the Diamondbacks, with RHP Scott Feldman (2-3, 5.70) on the mound for the Orioles.
- To make room for Niese, the Mets optioned RHP Jeremy Hefner to Triple-A Las Vegas. However, Hefner was sent to New York for tests on his ailing right elbow and could wind up on the DL.
- Arizona placed 3B Eric Chavez on the 15-day DL with a left knee strain.