Home runs accounted for 11 tallies and the teams combined for 25 hits in a game that also saw Houston Manager Cecil Cooper and catcher Brad Ausmus ejected in separate run-ins with first base umpire Angel Campos.
The Astros were denied what would have been their first two-game winning streak in three weeks.
The Brewers extended their lead in the fifth thanks to Jason Kendall's first home run of the year, a two-run shot.
After Houston climbed within a run in the sixth, the Brewers tacked on three in the eighth -- two coming on Hart's second homer.
Manny Parra (5-2) survived long enough to get the win, giving up five runs on 10 hits in 5 1/3.
Brandon Backe (4-8) suffered the loss after allowing five runs on seven hits in four innings.
Ray Liotta sues skin care company over use of likeness
Millions of Getty images now available for free via embed tool