HOUSTON -- Winless in his three previous starts, Cole Hamels realized his biggest problem was the stress he was putting on himself.
Hamels (10-4) gave up eight hits with eight strikeouts in seven innings and became the first Phillies starter since Eric Milton in 2004 to win 10 games before the All-Star break. The left-hander, one of three Phillies headed to the All-Star Game, had his longest outing since going eight innings against the Chicago White Sox on June 12, his last victory.
"It was a constant battle for the past month," said Hamels, who threw 115 pitches. "I just had to take a lot of the pressure off and just relax. Being myself, I'm able to go out there and put my team in a winning situation.
"When I start putting a little more pressure on myself, it's like playing against another guy on their team, because you're playing against yourself and nine batters."
Hamels mixed fastballs and changeups so well that the Astros couldn't tell the difference.
"I've never seen a pitcher throw two completely different pitches that looked exactly the same," said Houston rookie Hunter Pence, who homered in the ninth, after Hamels was out of the game. "It was really deceptive. He had good stuff. That guy's a heck of a pitcher."
The Phillies, the National League's highest-scoring team, gave Hamels plenty of support, too.
Ryan Howard had a two-run homer and an RBI single and Wes Helms, Jimmy Rollins and Pat Burrell also homered. Helms also had a single and an RBI double and Chase Utley went 3-for-4 with a single, double and triple.
"We scored some runs early for Cole," Utley said. "We had our horse on the mound, so that makes it a little bit easier."
Houston starter Chris Sampson (6-6) hasn't won since June 8. He took a loss for the first time in five starts, giving up four runs and eight hits in 6 1/3 innings.
The Astros have homered in nine of their last 10 games, but the two on Sunday meant nothing.
"I wish it could've helped us get a win," Munson said.
Burrell singled in the second inning before Helms hit his second RBI double in two nights, a liner to left.
Munson, Houston's left-batting backup catcher, led off the bottom of a third with a tying homer into the left-field porch. Munson's second homer of the season was the third allowed by Hamels in his last two starts.
Helms drove Sampson's first pitch of the fifth inning into the left-field seats, his third homer of the season. Helms has 11 hits in his last 18 at-bats against the Astros.
"Sometimes hitting comes and goes," said Philadelphia manager Charlie Manuel. "All of a sudden, in batting practice, I see some snap in his swing, better balance at the plate, and that's when I put him in the game."
Sampson retired Chris Coste and Hamels, but Rollins then homered to right to make it 3-1. The switch-hitting Rollins has hit 11 of his 15 homers batting left-handed.
Utley led off the sixth with a triple off the fence in right center, his third of the season. Howard lined a single to right to put the Phillies up 4-1.
The Astros averaged six runs in the first six games of their homestand, but couldn't get key hits against Hamels, who beat them for the second time this season. Houston left the bases loaded in the fifth inning, then stranded two runners in both the sixth and seventh.
"It's always huge for anybody, whenever the pressure mounts, to go out there and relax and throw strikes and let the other team make the mistakes," Hamels said. "That was what I was able to do - throw effective strikes when I really needed it."
Utley led off the eighth with a double off Astros reliever Mark McLemore. Howard then drove a 3-2 pitch into the Astros' bullpen in right center, his 20th of the season and 14th since he came off the disabled list on May 25.
One out later, Burrell homered off the left-field foul pole, his 10th of the season and second of the series. Helms singled and scored later in the inning on a wild pitch to make it 8-1.
- Hamels leads the NL in home runs allowed (20).
- The Phillies had their first four-homer game since a 9-8 win over San Francisco on June 3.
- Craig Biggio was out of the starting lineup, a scheduled off day. He pinch-hit for reliever Trever Miller in the seventh inning and struck out.
- The Astros have hit 16 homers in their last nine games.