PHOENIX -- With Stephen Drew injured and out for the season, Justin Upton and Miguel Montero showed they were ready to pick up the slack for the Arizona Diamondbacks.
"We're not going to give up," Upton said. "We're in a position to run after the Giants. If Stephen was here we'd be doing the same thing."
Arizona remained four games behind first-place San Francisco in the NL West.
Josh Collmenter threw seven strong innings, had a pair of hits and added his first career RBI for the Diamondbacks, who have won two of their past three since losing Drew to a season-ending right ankle fracture.
|More on Rockies at D-Backs|
"I like it when they feel good about themselves," Diamondbacks manager Kirk Gibson said. "It's been tough since the whole Stephen thing and we had a tough loss yesterday. You can feel sorry for yourself or you can have some energy and have some fun. You have to force yourself. That's what it's about."
Upton finished 3 for 5 with his second career grand slam and six RBIs while Montero had three hits and drove in five.
Collmenter (6-5) allowed three runs on six hits with no walks and four strikeouts to record his second consecutive win.
"That's Josh," Gibson said. "He came out and threw a lot of strikes."
Troy Tulowitzki hit his team-leading 19th home run and Ty Wigginton added a two-run single for the Rockies, who have lost two of three.
The Diamondbacks opened a 4-0 lead before Rockies starter Jason Hammel (5-10) recorded his first out.
Willie Bloomquist singled to right leading off the game and Gerardo Parra walked. Upton doubled just under the glove of a diving Wiggington at third, scoring both runners for a 2-0 lead.
Upton moved to third when Chris Young singled to center and both came home on Montero's double to left to make it 4-0. Collmenter drove home Montero three batters later for a 5-0 lead.
Tulowitzki lined a home run just over the right-field fence to start the second and cut Arizona's lead to 5-1. But Montero hit a two-run homer into the Rockies right-field bullpen in the bottom of the inning, his 12th, to put the Diamondbacks in front 7-1.
"It is somewhat of an insurmountable task when you spot the opposition seven runs in the first two innings of the game," said Rockies manager Jim Tracy. "Actually, it's somewhat unacceptable."
Colorado pulled to within 7-3 in the fourth on Wigginton's two-out flared single into shallow center.
Hammel settled in somewhat after the tough start, lasting 5 2/3 innings and allowing eight runs on 12 hits with four walks and seven strikeouts. He left after loading the bases only to see left-hander Eric Stults walk Montero to make it 8-3.
"It's almost comical to me because tonight was the best I felt all year," Hammel said. "You make a good pitch, it gets hit. You make a bad pitch it gets hit. From the get-go I was thinking no-hitter stuff tonight. It is pretty frustrating getting tagged for eight after that."
Upton hit his second career grand slam with two outs in the seventh off Stults to make it 12-3.
Upton also drove in six runs on May 20, 2009 at Florida. ... Montero has three career five-RBI games. He leads NL catchers with 23 doubles and 36 extra-base hits. ... Collmenter's toughest moment came running the bases, when he was thrown out at home by Ryan Spilborghs trying to score standing up on a single by Parra. Collmenter wasn't helped by Upton, who signaled for his pitcher to come in standing and not sliding. ... Hammel has given up 14 runs, 12 earned, on 20 hits over 10 2/3 innings in his past two starts. The right-hander had not allowed an earned run in two previous starts against Arizona this season. ... Todd Helton hit his 547th career double in the fourth, tying Manny Ramirez for 24th place on the all-time list.