Placido Polanco hit a tying sacrifice fly and Wilson Valdez hustled home with the go-ahead run on an errant throw on the same play, lifting Halladay and the Phillies to a 5-4 win over the Milwaukee Brewers on Saturday night.
Polanco's fly ball to left with the bases loaded in the seventh inning scored Carlos Ruiz. Ryan Braun's throw sailed behind a sliding Ruiz and hit the backstop, allowing Valdez to slide home.
"It's a credit to the guy running the bases," Phillies manager Charlie Manuel said. "He took a chance."
Corey Hart hit two solo homers, and Prince Fielder and Alcides Escobar also connected against Halladay (17-10), who pitched seven innings. The right-hander allowed four homers for the first time in 342 career games and 316 starts.
"I really wasn't happy with the mistakes, but to come out of a game like that with a win," Halladay said, "as a pitcher, it's a great feeling. You come in a little more upbeat tomorrow and come right back at them."
Halladay appeared in line to lose his third consecutive start before Philadelphia bailed him out with its 11th win this season when trailing after six innings.
Of course, it was a tight one.
The Phillies improved to 38-23 in games decided by two runs or less -- the best winning percentage in baseball. In one-run games, they are a sparkling 24-14. Those numbers have them in the hunt for their fourth straight NL East title.
"The great part of being where we are right now is that I don't have to go out there and worry about numbers," Halladay said.
The Phillies scratched together the winning rally against the Brewers' bullpen after a game full of longballs.
Shane Victorino and Carlos Ruiz opened the seventh with singles off Kameron Loe (3-4). Zach Braddock entered and walked Valdez on four straight pitches to load the bases. He got slumping Jimmy Rollins on a fielder's choice that kept the bases full.
Polanco hit a fly ball just a few shades shy of shallow and a strong throw and better positioning out of catcher Jonathan Lucroy might have nailed Ruiz at the plate. It certainly wouldn't have allowed Valdez to score.
Brewers manager Ken Macha said Lucroy shared the blame.
"As a catcher, you're taught, don't ever let the runner get between you and the ball," Macha said. "He probably should have come up the line and conceded the run and gotten the ball."
He didn't, and it's the Phillies who are on a five-game winning streak and the Brewers on a five-game skid.
Halladay, looking to bolster his NL Cy Young Award credentials, was touched for two homers in the second. Fielder hit the first pitch of the inning to right field for his 29th of the season. Escobar lined an 0-2 pitch to left for his fourth.
Halladay left two runners stranded when he struck out Rickie Weeks.
Halladay had allowed only three homers total in his last five starts and 17 this year in 214 innings pitched.
"It wasn't one of my best performances," Halladay said. "Say what you want about the losses at times, but there's other times where I've been picked up and they scored plenty of runs and made my job easier."
Howard and Werth connected against Dave Bush in the second, tying the game. Howard's 26th homer was a no-doubter to right -- Fielder at first never looked up and just pounded his mitt.
Hart, in a 1-for-18 slump, went deep in the third and seventh to help Milwaukee take a 4-3 lead. He has 25 on the year.
Chase Utley hit a tying RBI single in the third for the Phillies.
Bush allowed six hits and struck out five in six innings.
- Philadelphia recalled RHP Scott Mathieson from Triple-A Lehigh Valley. Iron Pigs pitchers Vance Worley and Nate Robinson have not been officially called up but will be with the Phillies on Sunday.
- The Phillies haven't announced their rotation for Monday's doubleheader against Florida. Roy Oswalt will start one of the games and the other will be revealed Sunday.
- Halladay has pitched seven innings in nine consecutive starts.
- The Brewers have lost all five games in their losing streak on the road.