Aaron Hill tripled and drove in four runs, Jason Kubel had two hits and two RBIs and the D-backs beat the Rockies 8-7 on Saturday night.
Paul Goldschmidt and Chris Johnson also had two hits apiece for the Diamondbacks, who have won five of six. Arizona remained 4 1/2 back of St. Louis for the second wild card.
J.J. Putz pitched a scoreless ninth for his 31st save.
"We're not out of it. We've still got a little time left," Kubel said. "If we keep this up hopefully we put more pressure on teams in front of us, but we've got to keep it up ourselves."
The Diamondbacks stayed on the fringe of the race with two strong offensive performances in Colorado. They collected 23 runs and 32 hits in the first two games of the four-game series.
"You need every run you can get at this park, and really, no lead is safe," Kubel said. "We had a great start tonight and had just enough."
Wilin Rosario homered among his three hits and
Jordan Pacheco also had three hits for the Rockies, who have lost eight straight. Colorado (58-93) is two losses shy of the club's single-season record and needs to win five of its last 11 games to avoid the franchise's first 100-loss season.
The Rockies lost Saturday despite outhitting the D-backs 14-13.
"There has to come a time where seven runs and 14 hits are enough," Rockies manager Jim Tracy said.
Both starting pitchers struggled, with neither making it to the fifth inning. The D-backs staked
Patrick Corbin to an early lead, but he allowed five runs and nine hits in just three innings.
Brad Bergesen (2-0) tossed two innings of one-hit ball to get the win.
"Patrick had a great fastball, but he left his secondary stuff up," manager Kirk Gibson said. "When I got him out of there, they were working on him pretty good."
Jhoulys Chacin needed 84 pitches to get through four but left with a 5-3 lead. The Diamondbacks then scored five times in the sixth with the help of the Colorado bullpen.
Carlos Torres (4-3) loaded the bases with two walks before Hill tripled to center field. Torres issued another walk before Josh Outman came on and loaded the bases again with the fourth walk of the inning.
Kubel knocked in Hill with a sacrifice fly to tie it, and Johnson had an RBI single to make it 8-5.
"If they're going to give you free bases, we have to take advantage of that," Kubel said.
The Rockies got one back in the bottom half on
Matt McBride's RBI single, and Josh Rutledge scored on Rosario's double-play grounder in the seventh.
Rosario hit his 26th homer leading off the third to establish a franchise rookie record. Todd Helton hit 25 homers as a rookie in 1998.
The Diamondbacks got off to a fast start one night after pummeling Rockies pitchers for 15 runs and 19 hits. Adam Eaton led off with a triple and scored on a groundout. Justin Upton and Goldschmidt doubled and Kubel singled to give the D-backs a 3-0 lead.
"I started throwing strikes in the first inning," Chacin said. "They just started swinging and got me. They just hit it where nobody was."
Colorado responded with four in the second. Andrew Brown led off with his third homer of the season,
DJ LeMahieu tripled and scored on Dexter Fowler's single and Pacheco hit a two-run double.
"It's a very difficult chore to ask these guys to keep coming back two or three times," Tracy said. "They get down early, they get us back in to the game, they get us a lead. We have the bad inning and they continue to do more."
NOTES: Rockies OF
Carlos Gonzalez (tight left hamstring) did not start but pinch hit in the ninth. He struck out. ... D-backs slugger Miguel Montero has reached safely in 20 straight games. ... Eaton has reached base safely in 14 of his first 15 major league games.