HOUSTON -- Aaron Cook pitched the Rockies back to a winning record.
Brian Fuentes pitched the eighth and Manny Corpas a perfect ninth for his fourth save in six chances.
"Our guys pitched really, really well," manager Clint Hurdle said. "Aaron's last four innings were great. They got four hits on him and in this park that's just a dominating effort."
The National League champions have won four straight and eight of 11 to reach their first winning record of the year.
Cook (2-1) pitched seven solid innings, allowing two runs -- one earned -- and four hits with a walk and four strikeouts.
Cook added an RBI single in the second as well.
"I just tried to use my sinker effectively," Cook said. "After the first inning, I was able to pitch better. I just settled in and had Chris (Iannetta) set up middle and in and I tried to pitch to him."
Hawpe singled to right to drive in Matt Holliday in the fifth to break a 2-2 tie. Holliday had walked and advanced to third on Garrett Atkins' single.
Oscar Villareal (0-3) allowed a run and two hits in two innings of relief after starter Wandy Rodriguez left the game because of a sore left groin after four innings. The Astros have dropped three straight and four of five.
Rodriguez allowed two runs -- one earned -- and five hits. He struck out five and walked three.
Down 3-2 in the seventh, Geoff Blum led off with a fly ball into the right-center gap. Center fielder Ryan Spilborghs dove for the ball, and his body blocked the sight of second base umpire Mark Wegner, who ruled it a catch.
Replays appeared to show Spilborghs bobbling the ball on the ground before rolling over and holding it in the air.
"It was an out," Spilborghs said. "He hit it hard, I caught it in the air and when I landed I tried to show (the umpire) the ball.
"You do whatever you can instinctively to prove you caught it."
The crowd booed for nearly two minutes while umpires briefly met and upheld the call. Astros manager Cecil Cooper vehemently protested the call and was ejected from the game.
"The best I can tell you is from the angle I had I never saw the ball hit the ground," Wegner said. "Coop asked me to get help and none of us could see the ball hit the ground, and the fielder came up with the ball like he caught it."
Plate ump Rick Reed said the officials did the best they could.
"The ball was originally caught and then it looked like it came out of the glove," Reed said. "You can't tell whether it's on his person or on the ground.
"We had a consultation and we go with majority rules on the consult. Cecil didn't want to listen to it and was pretty upset.
"If replays can't show conclusively what happened on the play, I don't believe he should be that upset about it. Yeah, the tying run would be possibly at second base, but we made every effort to be where we were supposed to be."
Cooper thought it was a pretty obvious play.
"From his angle, he caught it," Cooper said. "From mine, he didn't catch it. And they all got together and said the same thing. Nobody saw it any differently. From my eyes it was plain and simple.
"It was a big part of the game and they blew it. If they want to fine me and censor me, then go ahead, but I'm going to tell you just the way it is. I think they blew it. I think they all blew it.
"I just said all four of the guys got together and they didn't get it right. Then, see you later."
Fans were upset, too. Spilborghs was again booed when he came to bat in the next inning.
"That was probably my favorite at-bat of my entire life," he said, grinning. "I've never been booed like that before."
- Houston C J.R. Towles led off the bottom of the third with his fourth home run of the season.
- Michael Bourn's stolen bases in the first and eighth innings gave him a major-league leading 11 in 11 tries this season. The game left the all-time series between the two teams tied at 64-64. Houston remains 20-7 against Colorado at Minute Maid Park, still the Astros' best record at home against any major league team. Winning the first two games of this three-game series marked the first time the Rockies ever have won more than one game in this park in a season.
- Fuentes has pitched nine scoreless innings in nine games this season.