MILWAUKEE -- Ben Sheets felt like he had enough to get one more batter out, but after 122 pitches, Brewers manager Ned Yost wasn't taking any chances.
Sheets got just that close to pitching his third complete game of the season, and Prince Fielder and Russell Branyan homered to lead Milwaukee past the Houston Astros 4-1 on Saturday night.
Sheets left after walking Lance Berkman in the ninth inning, but Salomon Torres came on to get Carlos Lee to fly out for his fifth save. Sheets (6-1) gave up seven hits while striking out five to win for just the second time this month.
He was visibly upset when Yost came out to the mound in the ninth, and was still heated after the Brewers celebrated their sixth victory in eight games.
"I still feel like I had enough," Sheets said.
Yost said he had no reservation about pulling Sheets, whose 122 pitches included 11 to Berkman in the ninth inning.
"It was the pitch count and only the pitch count," Yost said. "There's times when your bullpen is really tired and you need to give them a break and you can push your starter into a spot where it gets to be past 120 pitches, but tonight that wasn't the case. There's no need to do that."
The Astros have lost four in a row, their longest losing streak of the season.
The Brewers fell behind 1-0 after Darin Erstad's run-scoring single in the third, but went ahead in the fifth. Rickie Weeks led off with a double to shallow left and scored on a base hit from Ryan Braun, and Fielder hit a 2-2 pitch from Brian Moehler over the right-field wall for his eighth homer of the season.
"It was in, it was down," Moehler said. "I think anything away and we've got him, but I cut it off and it came back over the plate.
"He's a mistake hitter. He hit a mistake and it went out."
Branyan made it 4-1 in the sixth when he hit his second homer of the year over the right field wall off Astros reliever Oscar Villarreal.
The offense finally came through for Sheets, who had been 1-1 with three no decisions in his last five starts, mostly because of poor run support. His only win in that stretch came at Pittsburgh on May 21, when he gave up one run in a complete game.
The right-hander has allowed just four earned runs in his last three starts covering 23 2/3 innings.
"He was really on top of his game," Yost said. "He came out right from the get-go with a good fastball, a good breaking ball, throwing two-seamers and change-ups when he needed to."
Erstad was the only Houston batter to have any sort of success against Sheets, finishing 2-for-4 with the Astros' lone RBI.
"He can make you look horrible," Erstad said. "It looked like he was throwing some kind of change-up. We still don't know what it is."
The reserve outfielder is hitting .364 in 11 starts this season.
Moehler (2-2) wound up allowing six hits in five innings, walking one and striking out six, but didn't much help from Houston baserunners.
Brewers catcher Jason Kendall foiled three of four steal attempts. The Astros came into the game leading the majors with 61 stolen bases.
"That's how we play," Houston manager Cecil Cooper said. "We have to be aggressive. I encourage them to keep running and that's the way we're going to keep doing it."
The victory put the Brewers back at .500 (28-28) for the first time since they were 20-20 on May 14. Milwaukee still trails the front-running Chicago Cubs by seven games in the NL Central.
Branyan's shot traveled 465 feet and was the third-longest homer in Miller Park history. ... Kendall has thrown out nine of his last 14 baserunners and 16 of 37 this season. ... Moehler's six strikeouts were a season-high.