The division-leading Reds won their fourth straight game, breaking open the contest with the big fifth inning that gave them a 6-2 lead.
Chris Heisey had two RBI for Cincinnati, driving in the first run in the fifth with a single and delivering another score in the eighth with a fielder's choice grounder.
Mike Leake (7-8) gave up solo homers to both Fernando Martinez and Matt Dominguez in the fourth, but settled down to go six innings for the win. He allowed seven hits and struck out six.
Fernando Abad, who has made 81 relief appearances in his three-year career, started for only the second time. Abad (0-2) took the loss while surrendering six runs on nine hits in 4 1/3.
Houston lost its sixth straight and is only eight losses away from having 100 for the season.