DENVER -- Stephen Drew turned an embarrassing moment into a winning one.
One pitch after thinking he had drawn a walk, Drew hit a two-out, two-run homer in the top of the ninth and the Arizona Diamondbacks ended their 11-game road losing streak with a 5-3 victory over the Colorado Rockies on Saturday night.
"It was my most embarrassing moment," Drew said. "I thought I had four balls."
Drew had worked the count to 2-2 before Rockies closer Brian Fuentes threw a slider low and away. Drew dropped the bat and started down the first-base line before he was called back. He turned an awkward moment into a game-winning hit when he turned on a fastball.
"I had a good laugh," he said. "What can you do? I still would have been laughing regardless because that is my most embarrassing moment. At least I made up for it."
He also helped Arizona's postseason hopes. The win helped the Diamondbacks keep pace with the Dodgers in the NL West. Los Angeles beat San Francisco 10-7 later Saturday.
"We're rooting for the Giants and whoever's going against them," Arizona starter Doug Davis said. "It's not over yet."
Chris Young led off the ninth with a walk, and after Augie Ojeda popped out and Conor Jackson lined out to left, Drew hit his 19th homer of the season to give Arizona its first road victory since Aug. 16 at Houston.
"I knew I hit it well and I knew I hit it high," Drew said. "That's a big wall out there and I didn't think it was going to go out. It's a great feeling to see it go out."
Earlier in the at-bat, Drew lined a ball down the right-field line that landed just foul.
"That's not an easy at-bat for a left-hander," Diamondbacks manager Bob Melvin said. "To get your heart broken down the line and stay with it and hit a ball out of a park is definitely atonement."
Fuentes (1-5) lost for the first time since June 30 against San Diego.
The Diamondbacks took the lead in the seventh. Chris Snyder and Ojeda walked and pinch-hitter Tony Clark lifted a fly to deep center that Willy Taveras misplayed into a two-base error, allowing Snyder to score and make it 3-2.
"I just think he sprinted so hard off the bat and ended up overrunning it," Rockies manager Clint Hurdle said of Taveras.
Davis struck out four, walked one and gave up two earned runs in six innings.
Aaron Cook allowed five hits, three runs, struck out four and walked three in 6 1-3 innings. Cook failed in his bid to become the fourth Rockies pitcher to win 17 games in a season. Cook is 0-1 in his four starts since winning his 16th game on Aug. 29.
Drew led off the game with a double and came home on a double by Chad Tracy. In the second inning, Snyder scored when Davis grounded into a bases-loaded double play to make it 2-0.
Cook retired 13 of 14 batters after giving up a single to Ojeda in the second inning.
"After the second I just knew I had to settle down, try to keep the game right there," he said. "Give the guys a chance to come back and score some runs."
The Rockies got one back in the fourth when Baker's bloop single scored Tulowitzki, but Davis got out of further trouble by striking out Stewart with the bases loaded.
"We're not getting all the breaks in the world," Melvin said. "There is some resiliency, definitely."
Baker tied the game in the sixth with a solo home run, his 11th of the year.
With his double in the first inning, Drew became the fifth shortstop in NL history with 40 doubles, 10 triples and 10 home runs in a season. ... Hurdle said 1B Todd Helton will probably not play the final seven games of the season. Helton, who was on the DL with a back injury, missed 54 games before being activated Sept. 2. He has been used as a pinch hitter since coming off the DL.