Zack Greinke (2-1) allowed two runs in six innings, while striking out nine to pick up the win for the Brewers. Counting the postseason, Milwaukee is now 20-0 at Miller Park in games Greinke starts.
Leading 6-2 in the seventh, Jose Veras allowed three Houston runs to score, as the Astros pulled to within one run.
Francisco Rodriguez and John Axford nailed down the save in the 8th and 9th innings. Axford struck out the side in the ninth for his 46th consecutive regular season save, extending his franchise record.
The Brewers and Astros will continue their series Tuesday night at 7:10 at Miller Park.