Houston's other baserunners came on a hit batsman to lead off the third and a two-out walk in the eighth. Neither runner made it past first.
Francisco Cordero worked a perfect ninth for his seventh save.
Rosales singled in a run in the fifth and delivered a sacrifice fly in the eighth for the game's final score. Laynce Nix also had an RBI single in the sixth.
Houston had a season-best, three-game winning streak halted and the Astros lost in Cincinnati for the first time since May 10, 2007. Houston had won 11 straight on the Reds' home field.
Scarlett Johansson steps out with fiance after pregnancy reveal
Dennis Rodman pledges to end trips to North Korea