Placido Polanco homered leading off the 11th inning as the Phillies ended the St. Louis Cardinals' eight-game winning streak and averted a four-game sweep with a 2-0 victory on Thursday. It was 91 degrees with high humidity at game time and 93 by mid-game.
"We're a good team, we're not going to give up, we're going to keep playing," Polanco said. "It was one of those games, but at the same time you want to win.
"You don't want the game to be over to be over, you really want to win, because you've been here for so long."
The only hit in eight innings off Hamels was a solid single by Matt Holliday leading off the fourth. The lefty opened with five straight strikeouts and faced one batter above the minimum -- none until the eighth -- when he walked Yadier Molina on a 3-1 pitch with two outs and then struck out Brendan Ryan.
"Absolutely outstanding," Phillies manager Charlie Manuel said.
Getting nothing out of it didn't surprise Hamels. He has worked seven or more innings his last five starts with a 1.72 ERA but is 1-1 during that span.
"It's part of the game, you just go for it and you just try to pitch you possibly can," Hamels said. "If I can just plug away, things will happen."
Four relievers did not allow a hit over the final three innings to finish the one-hitter.
"We could be going home 0-8 real easy," Manuel said, frustrated by the lack of offense. "We have to do something about it. It's hard to explain."
Cardinals starter Adam Wainwright missed a chance to match Colorado Rockies ace Ubaldo Jimenez as the majors' lone 15-game winners, striking out six and scattering six hits in six scoreless innings. Wainwright has worked 25 consecutive scoreless innings his last four starts and lowered his ERA to 1.94.
But the Phillies made him work and he was done after 96 pitches.
"They fouled a lot of pitches off and I was probably up a little bit more than I usually am in the zone," Wainwright said. "I just think they're a tough team, they're grinding out at-bats."
Brad Lidge finished for his eighth save in 11 chances as the Phillies won for just the second time in eight games since the All-Star break, outhitting St. Louis 12-1 but going 1 for 10 with runners in scoring position.
The Cardinals went 7-1 on their first homestand after the break and outscored opponents 46-17 during their longest winning streak since 2004. Still, they haven't swept the Phillies in a four-game series at home since 1986.
Polanco hit his sixth homer and first since May 9 on a 1-1 pitch from Kyle McClellan (1-3), who hadn't allowed a run at home in 20 games covering 25 innings. It was the third hit for Polanco, whose 12-game hitting streak ended Wednesday.
Polanco has batted leadoff the last two games, with slumping Jimmy Rollins moving to sixth in the Phillies' order. Rollins was 1 for 4 for the second straight day.
"Hopefully I'll get going," Werth said. "Help turn this thing around."
Hamels retired 12 in a row before Holliday singled on a 1-1 pitch to start the fifth. He was quickly erased on a double play when center fielder Shane Victorino made a running catch on Craig's shallow pop fly with his glove on the grass, and made an easy relay to first.
Werth scooped another ball near the turf with a sliding grab in right field the next at-bat against Molina, and replays showed Werth tapping the ball back into his mitt as he rolled.
Wainwright passed Hamels with his sixth strikeout when he fanned Ryan Howard for the second out in the sixth.
Cardinals pitchers had a 1.82 ERA during the homestand and held hitters to a .154 average with runners in scoring position. ... Howard, who is from St. Louis, had three singles and is a career .388 hitter with eight homers and 31 RBIs in 21 games at 5-year-old Busch Stadium. ... Pujols is 3 for 20 with two RBIs against Hamels.