CINCINNATI -- Up with the bases loaded and two outs in the ninth, Chris Denorfia knew his last swing on his 26th birthday would leave a lasting memory, for better or worse.
One of his worst swings set in motion an unforgettable finish.
Denorfia's high-hop grounder eluded charging shortstop Clint Barmes, driving in a pair of runs that completed the Cincinnati Reds' improbable rally Saturday night for a 3-2 victory over the slumping Colorado Rockies and their All-Star closer.
"For a little luck to be on your side is a good thing," Denorfia said. "I really didn't hit that one hard at all. It was probably the softest one I hit all night, and I hit a lot of soft ones tonight."
Sometimes those turn out the best.
Trailing 2-1, the Reds came back against Brian Fuentes (2-3), who had a wild time in his first appearance since he pitched a scoreless inning during the All-Star game in Pittsburgh on Tuesday.
Fuentes walked one and hit consecutive batters with two-strike pitches to load the bases with two outs. Denorfia worked him to a 2-2 count, then slapped a ball into the dirt in front of home plate.
Barmes knew his only chance to get the speedy outfielder at first was to charge the grounder and get it on the short hop. It hopped right under his glove for a game-winning single.
"I don't know what to tell you," Barmes said. "Ballgame over. If I sit back on that, everybody's safe."
Instead, Denorfia wound up with his best moment since he took over right field for Austin Kearns, who went to Washington in an eight-player deal Thursday to upgrade the Reds' bullpen. Two relievers who were the keys to that deal figured prominently in the outcome.
Right-hander Gary Majewski blew a 1-0 lead in the eighth, when Jorge Piedra doubled home a pair of runs with two outs. Left-hander Bill Bray (2-1) pitched a perfect ninth to get the win in his first appearance for Cincinnati, 3-0 since the All-Star break.
"It's important to put up a zero there," Bray said. "That kind of shifts the momentum back to your offense."
Fuentes gave the Reds everything they needed to pull it off, then declined to talk about the ragged inning.
"They only put one ball in play," manager Clint Hurdle said. "Sometimes you just don't have answers for things. He just couldn't put guys away."
The Rockies matched their season high with their sixth straight loss. They were a half-game out of first place in the NL West before going into the dive, which has dropped them to the bottom of the bunched-up division.
Both pitching staffs dug in on a sticky, 92-degree night. The first 10 hits were singles -- three didn't even leave the infield -- at one of the majors' most homer-friendly ballparks. It was only the 23rd game without a homer in Great American Ball Park's four seasons.
Like most games in Cincinnati this season, it came down to which bullpen would falter.
All-Star pitcher Bronson Arroyo emerged from his slump with seven shutout innings, turning a 1-0 lead over to a bullpen reshaped by that eight-player trade. Majewski couldn't hold the lead in his second appearance since the deal, giving up a pair of singles before Piedra doubled down the first base line with two outs.
Piedra was hitting .154 when he came to bat, and was only 2-for-22 as a pinch-hitter. Majewski threw back his head in disgust as the runners circled the bases on his double.
The Reds' comeback cost Rockies starter Aaron Cook another win. The right-hander has been the victim of poor offense and bad relief pitching the last two months.
Playing practically in his backyard, Cook gave up six hits -- including Scott Hatteberg's RBI double in the sixth -- in seven innings. The right-hander grew up in nearby Hamilton, where he won a state prep baseball championship, and lives there in the offseason.
Cook has only two wins in nine games despite solid performances. The Rockies have scored two runs or less in six of those nine starts, and the bullpen has repeatedly let him down.
- Rockies SS Omar Quintanilla left the game after fouling a ball off his right shin during a seventh-inning at-bat.
- Colorado 3B Garrett Atkins had three hits and extended his hitting streak to nine games.
- The Reds used the same starting lineup for the second day in a row, the first time they'd done that all season.
- C Jason LaRue started his fifth game in a row, his longest streak of the season.
- Cincinnati 3B Rich Aurilia extended his hitting streak to nine games.
- Arroyo pitched one shutout inning in the All-Star game.