DENVER -- Trevor Cahill took one for the team again. This time, however, he stuck around to get the win.
"Same spot twice," Cahill said. "Fortunately, this one didn't take me out of the game."
Matt Davidson homered and drove in three runs and Gerardo Parra and Chris Owings had three hits apiece for the Diamondbacks, who won for the first time since being eliminated from the NL West race Thursday.
Charlie Blackmon had three hits for Colorado.
Cahill (8-10) stayed despite taking a line drive by DJ LeMahieu off his right leg in the bottom of the first. The Arizona trainer didn't come out to look at him, and Cahill got the next three batters to strand runners at first and third.
"He was hurting a little bit but he got through it," manager Kirk Gibson said. "We'll see how he comes out of it."
Cahill said it was the same spot where he was hit by a line drive in the first inning against Miami on June 19. He got through that inning but then came out of the game.
He made two rough starts after that before going on the 15-day disabled list with a right hip contusion.
Saturday, he gutted it out and got the win.
"I think it glanced off," he said. "It was kind of sore for a couple of innings but actually felt a lot better as the game went on. Pushing off I felt it for a couple of pitches but I tried to not think about it."
His counterpart didn't fare as well.
Colin McHugh (0-3), still looking for his first career win, allowed six runs and 11 hits in five innings.
"It was kind of disappointing, too many balls up in the middle of the plate," he said. "I had success the last outing keeping the ball down and out of the middle of the plate. Today we got beat on a couple of big spots in the middle of the plate up."
The Diamondbacks jumped on McHugh in the first. Willie Bloomquist reached on a single and scored on Martin Prado's two-out double. They made it 2-0 in the second on Tuffy Gosewisch's RBI single to right.
Arizona broke it open in the third on Davidson's three-run homer to center. Parra followed with a double and came home on Owings' single that made it 6-0.
"I wasn't looking nothing, I was just trying to battle," Davidson said. "Parra got a hit after that, then (Owings) did. It's fun hitting and it's definitely contagious. It took pressure off Cahill."
Cahill allowed two runs -- one earned -- and seven hits, striking out five in 5 2/3 innings.
"Only one walk," Gibson said. "When he doesn't walk people he wins."
The Rockies felt like they missed an opportunity to get to Cahill in the first inning.
"We had first and third nobody out and we didn't score," manager Walt Weiss said. "It's hard to say that in the first inning it changed the game, but it would have changed it early for sure."
The Rockies were without outfielders Michael Cuddyer (right forearm, wrist) and Carlos Gonzalez (strained right middle finger), shortstop Troy Tulowitzki (day off) and catcher Wilin Rosario (calf strain). Helton and second Josh Rutledge were the only players from the opening-day starting lineup in the game Saturday.
Arizona's Paul Goldschmidt singled in the ninth to extend his hitting streak to 11 games. ... Parra has reached safely in 17 of his last 20 games. ... Cuddyer has missed three straight games but said he hopes to play Sunday. ... Blackmon has an extra-base hit in seven straight games. ... Arizona LHP Patrick Corbin (14-7) will face Rockies RHP Juan Nicasio (8-8) in Sunday's game.