HOUSTON -- Through the first two months of the season, the Houston Astros struggled to score runs. Lately, they've made it look easy.
Hunter Pence and Carlos Lee homered and Craig Biggio had three hits, including two doubles, as the Astros beat the Philadelphia Phillies 7-5 on Monday night.
Lee also had an RBI single and Lance Berkman had an RBI double, part of Houston's 11-hit night. The Astros have won seven of their last eight home games, averaging more than eight runs in the victories.
"We feel like this is more what this offense is here to do, what we're capable of," said Pence, who leads NL rookies with 38 RBI. "Every day, we've got to come to the park to keep the offense rolling."
Pat Burrell and Shane Victorino homered for the Phillies, who have lost five of seven.
Houston starter Woody Williams (4-10) allowed three runs and six hits in seven innings. He struggled early, then retired 18 of his last 21 hitters to outduel fellow 40-something starter Jamie Moyer (7-6).
Williams, a Houston native, was winless in his first seven starts this season, but now has won his last three at Minute Maid Park.
"I think I'm finally starting to turn the corner a little bit," Williams said. "I feel like I'm trying to do the same thing every time out and that's to keep the team in the game. Bottom line, I've got to go deep into the game, help the bullpen out on my day to pitch."
Despite his strong start, the Astros' bullpen still almost blew it.
Houston started the ninth with a 7-3 lead before Dan Wheeler gave up a leadoff double to Ryan Howard. After an out, a walk and a hit batsman, Carlos Ruiz hit a two-run double. Wheeler was replaced by Trever Miller, who got two outs for his first save in three chances.
"We're having a tough time in the bullpen now," said Houston manager Phil Garner. "But we'll get through it."
Williams struggled early. Jimmy Rollins beat out a bunt and Victorino singled to right before he'd thrown five pitches. After Chase Utley grounded out, Williams intentionally walked Howard to get to Aaron Rowand, a .571 hitter this season with the bases loaded.
Rowand flied out to right and Rollins beat Luke Scott's throw home to make it 1-0. Astros catcher Brad Ausmus alertly threw to Mike Lamb at third base and Victorino was caught in an inning-ending rundown.
Biggio doubled on Moyer's second pitch of the game and Lee hit a two-out single to tie the game.
Burrell hammered Williams' first pitch of the second inning off the facade in left field, his ninth homer.
Pence singled to left with one out in the third, the 28th time in 35 games he has reached base. Berkman followed with an RBI double off the fence in left-center.
Biggio led off the fifth with his second double into the left-field corner. Pence then lined a 3-2 pitch from Moyer off the left-field foul pole, the rookie center fielder's ninth homer.
"We've been swinging the bats really well over the last few weeks," Biggio said. "We're really getting contributions from a lot of people. Hunter Pence, doing his thing, has been a huge lift for us."
Pence hit 20-30 balls off a tee before the game because his swing didn't feel right. He found his groove just before the game started.
"It's weird. Swinging is day-to-day," Pence said. "Some days, my swing feels good and I can hit anything. And then I'll come to the park the next day and it feels off."
Williams retired 12 of 13 batters before Victorino hit a solo homer to right with one out in the sixth.
Brian Sanches relieved Moyer to start the seventh and gave up singles to Berkman and Lamb. With two outs, Sanches walked Ausmus to load the bases for Eric Bruntlett.
On a 3-2 pitch, Bruntlett hit a foul ball down the right-field line and Victorino dived into the stands trying to catch it. He missed the ball and stayed in the seats for several seconds as teammates, Phillies manager Charlie Manuel and trainer Mark Andersen ran to check on him.
Victorino stayed in the game, but said later his ribs hurt.
"Later, I realized it was not so smart of a play," Victorino said. "Fortunately, I ended up not being hurt. After I look at it on a replay, it was stupid. You've got to be smart. I have a career. I could've ended up hurting myself."
Sanches' next pitch was low, Bruntlett walked and Berkman scored to make it 5-3. Jose Mesa replaced Sanches and walked pinch-hitter Mark Loretta.
With two outs in the eighth, Lee drove a 2-1 pitch from Mesa over the railroad tracks in left. Lee, Houston's only All-Star selection, leads the National League with 70 RBI.
With his first double, Biggio became the 27th player to reach 1,000 extra-base hits. His second double gave him 660 in his career, sixth all-time and five behind George Brett. Biggio has more doubles than any right-handed hitter in history. He singled in the sixth, his 3,007th career hit, which tied him with Al Kaline for 25th all-time. ... Moyer allowed more than three earned runs for just the second time in 10 road starts. ... The Phillies have 19 homers in their last 12 games against Houston.