Hunter Pence -- who had been in an 0-for-18 slump -- drove in two eighth-inning runs to lead the Phillies to their fourth straight win.
Halladay, who had been on the disabled list and hadn't pitched since May, allowed two runs on five hits, struck out six strikeouts and didn't walk a batter.
Chase Utley drove in a run for the Phillies, who handed the Dodgers their seventh loss in eight games and won their seventh straight at Dodger Stadium.
LA starter Stephen Fife went six innings in his major league debut, giving up one run on four hits with three walks.
Ronald Belisario (3-1) took the loss in relief.
James Loney and Luis Cruz each drove in a run for the Dodgers.