Astros 4, Brewers 3:
Steve Pearce singled home the tying run and Brian Bogusevic drove in the winning run as host Houston scored twice in the ninth for its first walkoff win of the season.
Carlos Corporan added a solo homer and an RBI single for Houston, which snapped a five-game skid and won for only the fifth time in 39 games.
The eighth blown save of the season for John Axford (4-7) spoiled rookie Mark Rogers' bid for his first major-league victory. The right-hander threw seven innings of three-hit ball, allowing one run and striking out eight.
Brett Wallace drew a seven-pitch walk to start the ninth, and pinch runner Tyler Greene stole second and took third on a wild pitch before scoring on Pearce's chopper up the middle. Pearce advanced to second when center fielder Carlos Gomez misplayed his hit, took third on Scott Moore's fly out and scored the winning run on Bogusevic's single up the middle.
Wilton Lopez (4-1) picked up the win after pitching a scoreless ninth.
Rickie Weeks had a career-high three doubles and scored twice and Ryan Braun had an RBI double for Milwaukee, which had its three-game win streak snapped.
Rogers didn't allow a hit until Moore's bunt single in the fifth, and Bogusevic and Corporan followed with clean singles later in the inning to break up the shutout.
Astros starter Bud Norris gave up three runs (two earned) on eight hits over seven innings. Norris struck out seven but remained winless since May 21.
GAME NOTEBOOK: Milwaukee has lost 10 straight road games dating to its last trip to Houston July 6-8. … The Astros have not scored more than four runs since July 30 and have averaged 2.3 runs in their last 10 games. … Brewers RHP Shaun Marcum made a rehab start Friday at Class-A Wisconsin, allowing one run on one hit over three innings. He is scheduled to make another rehab start Wednesday and could return before the end of the month.