PHOENIX -- Zack Wheeler pitched effectively, New York's hitters lashed balls all over Chase Field and the Mets walked away with a much-needed win.
What's concerning is what it may cost them down the road.
Granderson should be OK in a few days after injuring his left forearm and ribs during a collision with the wall, but Lagares could be out for a little while after straining his right hamstring legging out a grounder.
"We look at the big picture, it's tough for us," Mets manager Terry Collins said. "It's really tough. He's played absolutely great, he's swung the bat well, he's earned that right to be out there every day. For this to happen to him now, it's a tough break for him and a tough break for everybody."
Granderson hit the wall while tracking down a flyball by Miguel Montero in the first inning and left in the sixth as his arm and ribs got progressively sorer. X-rays were negative.
Lagares could be out a little longer.
New York's best hitter at .319, he raced hard down the line on a fielder's choice in the seventh. He tried to stay in the game, but left after consulting with the Mets' trainer.
The injuries overshadowed what had been a solid game for New York, which has yet to get on track early in the season.
David Wright added two RBIs and the Mets had 13 hits to open a three-game series. Wheeler (1-2) worked around traffic to end a five-start winless streak and Carlos Torres got the final eight outs for his first career save.
Lagares will be evaluated Tuesday morning to see how severe the injury is.
"Grandy will be OK, but somebody's got to step up, someone else has got to be the guy," Collins said.
The Diamondbacks continued to struggle at home.
Montero had three RBIs, but Josh Collmenter (0-1) gave up three runs the first three innings and Arizona was unable to bounce back, losing its sixth straight at home, the longest streak since Aug. 24-29, 2012.
"We're just not in sync," Diamondbacks manager Kirk Gibson said.
The Mets and Diamondbacks entered this three-game series hoping to get a spark after a difficult start to the season.
Pitching has been a problem during the Mets' mediocre run.
New York is 26th in the majors with a 4.97 ERA and is the worst in baseball at keeping the ball in the yard, giving up 21 homers. Bartolo Colon gave up four on Sunday, when the Mets allowed 11 extra-base hits -- tied for second-most in team history -- in a 14-2 loss to Anaheim.
Wheeler gave up plenty of baserunners, but no homers and only a couple of runs.
Montero hit a run-scoring double off the right-hander in the first inning -- when Granderson crashed into the wall -- and added a sacrifice fly in the third. Wheeler worked around runners over the next four innings before being lifted with one out in the seventh.
He allowed two runs on six hits in 6 2/3 innings.
"I did have the three walks, which was a bit of a disappointment, but I did get faster outs," Wheeler said. "I kept my pitch count down, for the most part."
Arizona has struggled with its own pitching woes, entering the game with a baseball-worst 5.95 ERA.
Hoping to give their beleaguered bullpen a rest, the Diamondbacks turned to Collmenter, a one-time starter who turned into an innings-eating reliever.
Collmenter didn't help the bullpen much, giving up three runs in four innings in his first start since Sept. 30, 2012.
"I hit a lot of my spots, they fouled a lot of pitches off and I didn't get outs early," Collmenter said. "I was happy with my command, for the most part."
New York added two more runs in the fifth inning against Mike Bolsinger in his major league debut, going up 5-2 on run-scoring singles by Granderson and Duda.
Wright had an RBI single in New York's two-run eighth off Ryan Rowland-Smith.
Lagares extended his hitting streak to nine games with a second-inning double. ... Bolsinger allowed two runs on six hits in three innings. ... Mets RHP Jenrry Mejia will be looking to cut down on his walks in the second game of the series against Arizona on Tuesday. He's walked nine in 11 innings his first two starts, though has yet to lose (1-0). ... RHP Bronson Arroyo, who will start against the Mets, is 8-3 with a 3.63 ERA in 14 career starts against New York.