DENVER -- Convinced that Aaron Hill would come through, Arizona manager Kirk Gibson kept him near the top of the batting order.
Hill hit a tiebreaking three-run homer in the eighth inning and the Diamondbacks beat Colorado 10-7 on Sunday, the Rockies' season-high ninth straight loss.
Arizona remained 4 1/2 games behind St. Louis for the second NL wild-card spot. Wil Nieves had four hits and Hill had three for the Diamondbacks, who have won three straight and six of seven.
Hill came into Sunday hitting .323 with 12 RBIs in his last 15 games.
"Aaron's just been so steady," Gibson said. "It's good to have him in the two-hole. I did have a lineup today where I was going to put him down fifth, but he's been so clutch for us that you want him to get that extra at-bat."
It paid off in the late innings.
Trailing by one, the Diamondbacks rallied against reliever Matt Belisle (3-8) in the eighth. Pinch hitter Mike Jacobs tied it with a single and after Adam Eaton struck out, Hill hit his 24th homer of the season to make it 7-4.
Hill fouled off two pitches before hitting an 86 mph slider into the left-field seats.
"He threw some good pitches I was just able to fortunately foul them off until I got a pitch to hit," he said. "It ended up working out."
Arizona tacked on three more in the ninth on Jake Elmore's two-run single and A.J. Pollock's RBI groundout.
"Jake getting those two guys in was big," Jacobs said.
Colorado scored three runs off Takashi Saito in the bottom of the ninth. J.J. Putz got the last out for his 32nd save.
Mike Albers (3-1) got the win with an inning of scoreless relief.
"It's another great effort. Unfortunately in the eighth inning we did not get the people out that we needed to get out," Rockies manager Jim Tracy said.
Wilin Rosario had three hits for the fourth game in a row and DJ LeMahieu also had three hits for the Rockies.
Colorado (58-94) is one loss shy of the club's single-season record and needs to win five of its last 10 games to avoid the franchise's first 100-loss season.
"I think it matters," starter Jeff Francis said. "We don't like losing one game. But 100 is that number that really stinks."
The Rockies took a 4-3 lead against Ian Kennedy in the sixth on Charlie Blackmon's RBI single.
Arizona took a 2-0 lead in the second on RBI singles by Cody Ransom and Nieves. Ryan Wheeler scored the second run while pinch running for Chris Johnson, who left the game with a bruise on his left hand after getting hit with a pitch from Francis.
"It swelled up pretty good," Gibson said. "He had an X-ray and it was clean."
The Diamondbacks made it 3-0 when Wheeler drew a bases-loaded walk against Adam Ottavino in the fifth.
Kennedy didn't allow a hit until Francis singled to lead off the third. He held the Rockies in check until the fifth when they rallied to tie it.
Kennedy got the first out of the inning before allowing five straight hits. Blackmon and Jordan Pacheco had RBI singles and Rosario made it 3-all with an RBI double.
Chris Nelson and Tyler Colvin struck out with runners on second and third to end the inning.
Kennedy allowed four runs on nine hits and struck out six in six innings.
"Giving up four runs in this ballpark is like giving up three or two anywhere else," Kennedy said. "You do your job by keeping your team in the game."
Francis allowed two runs on five hits in four innings. He and hasn't won since beating the Dodgers on Aug. 27.
NOTES: Hill's double in the seventh was his 40th of the season and gives the Diamondbacks two player with 40 or more doubles in a season for the third time in franchise history. Paul Goldschmidt has 42. ... Nieves tied his career high for hits in a game. ... Arizona's Justin Upton extended his hitting streak to 10 games with a single in the fifth. ... Rockies OF Carlos Gonzalez (tight left hamstring) was out of the starting lineup for the third straight game.