The game was a back-and-forth affair, but it appeared the Rockies had taken control after scoring two runs in the fourth and single runs in the fifth, sixth and seventh innings to build a 6-4 lead.
Things turned in the seventh after Colorado reliever Justin Miller retired the first two batters. An inside-the-park home run by Phil Gosselin started the rally, during which the D-backs put together four straight two-out hits off of Miller to grab the lead, also plating a run on a wild pitch from Boone Logan.
Miller (3-3) had posted a 0.75 ERA in 13 September appearances.
"Miller's been lights out for us -- those were the first runs he's given up in a while," Rockies manager Walt Weiss said.
MOMENTS THAT MATTERED Making the most of chances: Rockies utility man Rafael Ynoa, who started in left field, came up in the fourth and sixth innings with the score tied. Each time, he delivered an RBI double. Also, Kyle Parker played right field because Weiss rested Carlos Gonzalez, and went 2-for-4 with a double, and rookie catcher Tom Murphy had an RBI double. More >
Socrates shows his stuff: When outfielder David Peralta jammed his right wrist in the top of the fourth inning it opened the door for rookie Socrates Brito to get in the game, and he made the most of his opportunity. Brito went 3-for-3 and showed his speed by legging out a triple and stealing a base. On defense he threw out Jose Reyes trying to go from first to third on a single.
"I feel really good here," Brito said. "All these guys here they always do something to put you in a happy frame of mind. I'm just enjoying every day."
Inside-the-park homer that wasn't: Gosselin's deep drive to left sent Ynoa back to the wall and he reached up to try to make the catch. The ball bounced back onto the field of play and the umpires ruled it had not cleared the wall. Ynoa was slow to pick up the ball and Gosselin was able to come all the way around to score. Replays showed that the ball had cleared the wall and hit a fan's arm before bouncing back on the field.
"I thought it was gone, but I saw the second-base umpire give the safe signal and the ball was just sitting there and they all stopped so I figured I'd make sure and just keep running," Gosselin said.
On the edge of good: Rockies righty David Hale had problems holding the lead for much of his five-inning outing but it was passable -- four runs on six hits and he left with the lead.
"This one was really close to being a good one," Hale said. "It was kind of frustrating trying to get a shutdown inning. It seemed like after we scored, something happened."
The Rockies escaped a tight situation in the fourth inning when Weiss successfully challenged a call at second base. With two out, Rockies shortstop Reyes fielded a Patrick Corbin bouncer and flipped to DJ LeMahieu covering second. The runner, Chris Owings, was originally called safe, but the replay overturned the call, giving the Rockies the third out.
WHAT'S NEXT Rockies: Righty Kyle Kendrick (6-13, 6.54 ERA) will make his final 2015 start against the Giants and righty Chris Heston (12-10, 3.62) on Friday at 8:15 p.m. MT in San Francisco.
D-backs: Rubby De La Rosa will get the start when the D-backs open a three-game series with the Astros on Friday night at Chase Field. The right-hander is 2-0 with a 1.59 ERA over his last two starts, and with one more win he will become just the ninth D-backs pitcher in franchise history to record 15 or more wins in a season.