The NL East's top team won its fifth straight and bettered the NL Central-leading Brewers again.
Cole Hamels tossed a complete game in Thursday's opener with Howard out because of a lingering heel injury. On Friday, the Phillies' cleanup hitter staked Halladay a three-run, first-inning lead with his 32nd homer of the season.
Halladay (17-5) struck out nine to reach 204 for the season and scattered four hits and a run over eight innings after the Brewers roughed him up in April.
Milwaukee scored twice in the ninth before dropping its fourth straight.
In the ninth, Prince Fielder singled and Casey McGehee walked with no out against Antonio Bastardo.
Bastardo was pulled for closer Ryan Madson, who allowed a one-out RBI single to Yuniesky Betancourt and a sacrifice fly to Jonathan Lucroy to make it 5-3 before converting his 29th save by getting George Kottaras to ground out.
The Phillies are having a blast in Milwaukee, and keep beating one of the only teams remotely close to them in the NL standings after completing a three-game sweep of Atlanta earlier this week.
Before the game, four players took a ride down mascot Bernie Brewer's slide, then Pete Orr nearly ended up dead meat in the sixth-inning Sausage Race. Orr sprinted out of the dugout right into the path of the runners and clipped the Hot Dog just enough to send it stumbling. Orr laughed at the close call running out to his position at second.
The Phillies were again without shortstop Jimmy Rollins (groin) and second baseman Chase Utley (head), but got to Shaun Marcum (12-6) in the first. Shane Victorino singled and reached third on Hunter Pence's broken-bat single.
Howard winced as he turned on a pitch down the middle after turning hard on the left leg, but his ball had plenty of distance, easily reaching the first row of the second deck in right field to give him an NL-leading 108 RBIs this season.
The Phillies made it 5-0 in the seventh on Raul Ibanez's single that chased Marcum and Carlos Ruiz's single off reliever Takashi Saito. Betancourt's sacrifice fly cut in the seventh gave Milwaukee its only run off Halladay even though it appeared on replay that Casey McGehee never touched home plate.
The Brewers scored six runs off Halladay in a 9-0 win on April 19, but couldn't find similar success against the NL's reigning Cy Young winner in losing for the seventh time in their last 11 games.
Milwaukee squandered its best chance for a big inning in the fourth. The Brewers loaded the bases with one out, but Betancourt swung at the first pitch and grounded into a double play to end the threat.
Halladay reached the 200-strikeout mark for the fifth time in his career in the sixth inning when Ryan Braun looked at a third strike.
NOTES: Betancourt is hitting .163 in his last 14 games. ... Philadelphia has won all seven of its previous four-game series with a combined record of 24-4. ... The Phillies improved their majors-best road record to 44-26. ... Milwaukee has five runs over this four-game skid. ... In Saturday night's game, Brewers LHP Randy Wolf (12-9, 3.47 ERA) will face LHP Cliff Lee (16-7, 2.47).