HOUSTON -- In what has already become another tough season, the Houston Astros have had little reason to celebrate.
That changed on Monday when Brandon Barnes gave the American League's worst team plenty to smile about.
Barnes hit a last at-bat, two-out RBI ground-rule double in the 12th inning to lift the Astros to a 3-2 win over the Colorado Rockies in interleague play.
The Rockies intentionally walked Jose Altuve with two outs before Barnes connected on a double which sailed into the corner of right field to score Cedeno and give Houston the win.
"It was probably the best time I've had on a baseball field," said Barnes, who entered the game an inning earlier as a pinch-runner. "It was true joy, true emotion. It was awesome. It was a blast."
Paul Clemens (2-2) struck out two in a scoreless 12th for the win.
It was the first time Houston had won on a last at-bat this season. Manager Bo Porter hopes it will give his team, which was coming off a three-game sweep by the Athletics, something to build on.
"I think these kind of wins are definitely something that can catapult you forward from just an energy standpoint," he said. "Finding a way as a team and to come out on top, that momentum can carry over."
Carlos Pena hit a two-run double for Houston to tie it at 2 in the fourth.
The Astros loaded the bases with two outs in the 11th, but Jimmy Paredes flew out to end the inning.
Wilin Rosario singled to start the 10th, went to second on a sacrifice bunt and third on a fly out. Houston intentionally walked pinch-hitter Michael Cuddyer and Travis Blackley struck out pinch-hitter D.J. LeMahieu to end the threat.
The Rockies had several opportunities to put the game away, but came up empty again and again, stranding 15 batters.
"It's difficult to win that way, when you leave over 10 runners on base and not being able to get the big hit," Gonzalez said. "It's frustrating."
Houston starter Bud Norris yielded eight hits and two runs in seven innings.
Jhoulys Chacin pitched seven-plus innings for the Rockies, allowing five hits and two runs with a season-high nine strikeouts. It was the most strikeouts this season by a Colorado pitcher, and came against a team which leads the majors with 494 this season.
Eric Young hit a leadoff double, advanced to third on a sacrifice bunt and made it 1-0 on a double by Gonzalez.
Colorado loaded the bases with no outs in the third. But Norris was able to escape the jam by retiring Troy Tulowitzki before Rosario grounded into a force out that left Young out at home and he retired Jordan Pacheco.
Nolan Arenado doubled in the fourth and reached third on a sacrifice bunt. Colorado pushed the lead to 2-0 when he scored on a sacrifice bunt by Herrera.
Chacin sailed through the first three innings and struck out the side in the second. Houston didn't get a hit until Jose Altuve singled with one out in the fourth.
Altuve stole second base before Jason Castro walked in the fourth. Chacin struck out J.D. Martinez, but Altuve stole third base on the play. Pena's double sent Altuve and Castro home and tied it at 2-all.
Norris ran into trouble again in the fifth when he walked Fowler to start the inning. Tulowitzki singled to send Fowler to third before a wild pitch allowed Tulowitzki to advance to second. The Rockies came away empty-handed when Norris struck out Rosario before a groundout by Pacheco ended the inning.
Norris allowed the leadoff hitter to get on base for the fifth time in seven innings when he allowed a single to Young to start the seventh. Fowler followed with a walk, but just as he had several time before, he worked out of the jam, this time by sitting down the next three Rockies.
"He was absolutely fantastic today," Porter said of Norris. "Early in the game when he got into the bases-loaded jam, I just felt like he really did a great job of understanding who was in the batter's box and how he was going to attack them. He kept his composure and just made quality pitch after quality pitch."
Martinez tied a single-game franchise record by striking out five times. ... Houston optioned OF Robbie Grossman to Triple-A Oklahoma City after the game. The team said they would make a corresponding move on Tuesday. ... This two-game series wraps up on Tuesday when Colorado left-hander Jorge De La Rosa faces Jordan Lyles. De La Rosa is 4-0 with a 2.31 ERA this month. ... Cuddyer was out of the lineup a day after bruising his right forearm after getting hit by a pitch, but pinch-hit in the 10th inning. ... The ceremonial first pitch was thrown out by 90-year-old WWII veteran Pat Duncan, who survived the attack on Pearl Harbor.