MILWAUKEE -- Days after ending a seven-game losing streak, the San Francisco Giants are suddenly playing some of the best baseball Bruce Bochy has seen in his time as manager.
Aubrey Huff homered and drove in four runs, rookie Buster Posey homered again and the Giants' bullpen held on in a 9-3 win over the Milwaukee Brewers on Thursday to complete a four-game sweep.
"Overall, pitching, defense, hitting, clutch hitting, we played our best ball here in this series," Bochy said. "We did a lot of great things."
San Francisco may have to go on without Dan Runzler, who is likely headed to the disabled list after being one of five relievers who followed Barry Zito. Runzler (3-0) earned the win getting out of a bases-loaded jam in the sixth, then dislocated his left knee falling after an awkward swing in his first major-league at-bat in the seventh.
He will have more tests on Friday.
"My left back foot got caught on the clay," Runzler said. "Foot stuck, knee went and it popped out of place and came back in."
Andres Torres homered in the eighth and Posey homered for the fourth time in the series in the ninth. The Giants outscored the Brewers 36-7 in this series for their first four-game sweep in Milwaukee.
"We got to pitchers early and I think that's what you've got to do," Huff said. "We got their starter down by three or four early on and it gives everybody at the plate a little bit more of a confidence, a little bit more of a relaxation up there to be able to keep the line moving."
Huff drove in runs with a single in the first, a two-run homer in the third and a sacrifice fly in the fourth off Brewers starter Manny Parra (3-6) as the Giants built a 6-0 lead.
Huff is 11 of 28 with five homers and 12 RBI and Posey is 14 of 28 with five homers and 10 RBI in the first eight games of this 11-game road trip that began with three losses in four games in Colorado.
"His power is amazing, man," Huff said of Posey. "It's definitely a great swing, he stays through the ball well, he lets it get deep, he lets it travel and when you're doing that there's not to much you can throw up there at him that he's not going to see and get fooled on."
San Francisco finishes the first half in Washington with a matchup Friday night pitting Matt Cain against rookie phenom Stephen Strasburg.
"We're going to face an outstanding pitcher tomorrow. Hopefully guys look forward to it," Bochy said. "We're having a pretty good road trip and we have some momentum going. That's what you want."
Milwaukee (37-49) is playing bad baseball at the wrong time and stranded 17 runners, two off the franchise high for a nine-inning game. The Brewers have lost five straight and are a season-worst 12 games under .500 with tough decisions coming ahead with their roster.
For now, Milwaukee would settle for a few clutch hits after going 3 for 42 with runners in scoring position in this series and leaving 46 runners stranded.
"When you're not hitting, not bringing those guys in, there's a tendency to make the club look worse," Brewers manager Ken Macha said. "It's just a rut we're in. Manny made some mistakes. It wasn't a good series."
Just how bad has it been? Not even the Racing Sausages could run a clean sprint in the sixth when a weenie wipeout dropped three from the five-dog competition.
Prince Fielder singled in a run off Zito in the fourth, but Milwaukee never delivered a knockout against the left-hander who threw 113 pitches in 4 2/3 innings with six walks and seven strikeouts. Denny Bautista walked in a run in the fifth and Santiago Casilla walked in another in the sixth to make it 6-3.
Runzler came in and got out of the jam by striking out Joe Inglett and forcing pinch-hitter Ryan Braun to ground out to end the inning before hurting himself with two outs in the seventh.
"It looked like he knew what he was doing the first swing," Bochy said.
The second swing, not so much.
"It's a good thing it came back in," said Runzler, who missed a month after popping out his knee cap in his right knee in a similar manner during a non-baseball activity about six years ago. "I'll just hope for the best."
Corey Hart hit in the cleanup role for the first time since July 1, 2008 and finished 2 for 4. ... Braun is hitless in his 17 at-bats. ... Madison Bumgarner finished Runzler's at-bat by striking out. That strike out counts against Runzler and Runzler teased Bumgarner about it in the clubhouse after the game.