HOUSTON -- Milwaukee manager Ron Roenicke watched his team through the first six innings and wondered if it would score at all on Friday night.
Turns out he had nothing to worry about.
|More on Brewers at Astros|
"Any time we score a bunch like that, it always makes you feel good," Roenicke said.
Ryan Braun hit the go-ahead, two-run single in the seventh inning to help the NL Central-leading Brewers snap a three-game skid and end Houston's four-game winning streak.
Milwaukee's eight runs on Friday equaled the number it scored combined in a three-game sweep by the Cardinals this week.
The Astros looked to have a chance to get out of the seventh when Hart hit a high popup foul that Jimmy Paredes was in position to catch. But it bounced off a beam on the roof and out of his reach, and Hart capitalized on his second chance with a single.
"You'd like to have it not hit the roof," Houston manager Brad Mills said. "Had it not hit the roof there, we might have been able to get out of that thing, but it hit the beam and they were able to keep the inning going with a base hit and wound up getting some big runs there."
A wild pitch by Carpenter allowed Logan Schafer, who made his major league debut pinch-running for Green, to score and cut the lead to 2-1.
Braun's single to left field scored Hart and Morgan to put Milwaukee on top 3-2, but Braun was out on a rundown at second.
"It was definitely an important time in the game for us," Braun said of the seventh inning. "You know you're not going to get too many opportunities, so when you do get big opportunities like that, it's important to find a way to come through and try to help the team win."
Fielder, who finished a triple short of the cycle, doubled to start the eighth inning before McGehee's homer to left field.
"Prince looked really good today at the plate," Roenicke said. "His rhythm was great, his swings were great, even the balls he was fouling back, and he's also seeing the ball really well."
Milwaukee starter Zack Greinke (14-5) allowed a season-high nine hits with two runs and six strikeouts in six innings.
He said Houston's youth-filled roster was a lot tougher on him than it was when he gave up four hits and a run in seven innings against the Astros less than a month ago.
"I felt decent," he said. "I really want to give them a lot of credit. They had a way better approach than last time I started against them. I felt like there were times where I was making my pitches and they were still putting the good part of the bat on the ball. It felt like everyone through the lineup was kind of a tough out."
Lucas Harrell yielded three hits and no runs in 5 1/3 innings in his Astros' debut and fourth career start overall after being called up from Triple-A Oklahoma City.
"I felt like I got in a groove a little bit later on," Harrell said. "Early I was a little bit here-and-there. You're always a little nervous and a little excited. I feel like after I got through a few innings it went a little bit better."
Brian Bogusevic hit his first career triple in the fourth inning on a ball that landed in deep right-center field, just in front of the Astros' bullpen. Paredes followed with an RBI single to put Houston up 1-0. Paredes has seven RBI in his last 10 games.
A wild pitch allowed Paredes to advance to second before an error on the same play by catcher Jonathan Lucroy let him take third. Clint Barmes followed with a double that scored Paredes and made it 2-0. Greinke limited the damage by retiring the next three Astros.
Carlos Lee and Bogusevic hit consecutive no-out singles in the second inning before Barmes drew a one-out walk to load the bases. Greinke was able to escape that jam when Humberto Quintero grounded into a double play to end the inning.
Lee's single extended his hitting streak to a season-high 13 games.
Brewers SS Yuniesky Betancourt left the game in the eighth inning with a right elbow bruise after being plunked by Carpenter. ... Milwaukee 2B Rickie Weeks, who has been out since severely spraining his left ankle on July 27, is progressing, but manager Ron Roenicke said it will still be a while before he's healthy enough to play defense. He did say that he's thought about using him as a pinch-hitter before he's ready to return full time. But he said, even if he decides to use him in that capacity that would still be more than a few days away. ... Hart has a 15-game hitting streak. ... Brewers pitching coach Rick Kranitz wasn't with the team on Friday because of what the team called family reasons. ... Milwaukee lefty Chris Narveson (9-6) faces Houston's Bud Norris (6-8) in the second game of the series on Saturday. Narveson last pitched in relief on Wednesday against the Cardinals, his first work as a reliever this season. Norris didn't factor into the decision in his last start despite striking out 10 in seven innings.