HOUSTON -- Milwaukee right-hander Yovani Gallardo had not pitched a complete game in a long, long time.

He had never thrown one in the Majors, never even thrown one in the Minors. He had to go all the way back to high school, when he pitched a seven-inning complete game for Trimble Tech in Fort Worth, Texas.

Gallardo (2-1) mastered the Astros for nine innings Friday night in pitching the Brewers to their third win in a row in a 5-2 victory at Minute Maid Park.

"It was very special to me," said Gallardo, whose family drove down from Fort Worth for the game. "Once I got in the eighth inning and my pitch count wasn't very high, I realized [I had a chance] for a complete game."

With a two-run homer by Carlos Lee in the fourth inning the only real damage, the Astros dented Gallardo for just five hits, four of them singles. He struck out seven, walked none and threw 106 pitches.

"His stuff was very crisp," Milwaukee manager Ken Macha said of Gallardo. "Except for one [pitch], he was in control. The biggest benefit [of a complete game] is for Yovani. It gives him an indication how he can throw a complete game."

"We got on a pretty good page," veteran catcher Jason Kendall said of calling pitches. "You work fast and you work quick. It was boom, boom, boom. It's fun. That's one reason I'm still catching."

Gallardo's longest outing in the Majors had been eight innings in September 2007, also in Houston. He hadn't gone more than 6 2/3 innings in his first three starts this season.

"You have to get ahead in the count," Gallardo said. "I was able to mix up my pitches. I had no walks. That's big for me."

The homer by Lee gave the Astros a 2-0 lead in the fourth.

The Brewers bounced back with four runs in the top of the fifth. They did it the hard way. They earned it with six singles, five of them in a row with two outs.

"After I gave up the two runs, they were able to come back and pick me up," Gallardo said.

Kendall began the hit parade with a one-out single and Gallardo sacrificed him to second. Rickie Weeks, Corey Hart, Ryan Braun, Prince Fielder and Mike Cameron followed with singles, the last four driving in a run apiece.

"We're not going to be cold forever," Hart said of Milwaukee's hitting. "Nobody was panicking. To be able to do that when you need to was the turning point of the game."

Three of the hits were to right field. Macha liked that kind of hitting.

"Those were unselfish at-bats," he said. "We weren't trying to pull the ball. They were using the whole field off a guy [Astros starter Felipe Paulino] who was throwing pretty darn good."

Although it didn't figure in the scoring, another good sign for the Brewers offense was J.J. Hardy going 3-for-4, all clean singles.

"I'm just trying to get comfortable in the batter's box," said Hardy, who raised his average to .190. "Tonight I was able to see the ball better. Those were two of the better swings I've had all season.

"I know I pressed a lot [early]. When you get off to a slow start, you want to do more. That's not the right way to go about it."

Weeks finished off the evening with a solo homer, his third, to lead off the seventh inning.

"Everybody feels off everybody else -- that's what you got to do some times," Weeks said of winning the game with singles rather than homers.

Weeks turned in a pair of excellent defensive plays at second, third baseman Bill Hall fielded a pair of bunts perfectly and Cameron ran down a few balls in center field.

"We've been playing pretty good defense," Macha said. "We've put together seven out of eight quality starts and we're starting to swing the bats a little. You're going to win some games."