Laynce Nix broke a 1-all tie with his second pinch-hit homer of the season in the ninth inning.
Halladay (1-2) allowed five hits, walked one and lowered his ERA from 14.73 to 7.63. He's the 109th pitcher to reach the 200-win milestone, and the first to do so in a Phillies uniform since Hall of Famer Steve Carlton in 1978.
Rocky efforts in Halladay's two previous starts raised doubts about the future of the two-time Cy Young Award winner, who went only 11-8 and battled injuries in 2012. But he regained his winning form against the Marlins, who have scored only 20 runs in 12 games.
They went 1 for 6 with runners in scoring position and are batting .174 in those situations this year.
Nix batted for Halladay with one out in the ninth and homered into the upper deck in right field off Jon Rauch (0-2). It was the seventh run batted in by a Phils pinch hitter.
Jonathan Papelbon pitched around a leadoff walk in the ninth for his second save in as many chances. That gave the victory to Halladay, who leads all active pitchers with a winning percentage of .662 (200-102).
Among those active, only the New York Yankees' Andy Pettite has more victories with 247.
Ryan Howard led off the Phillies' sixth with a double. Michael Young then singled off the glove of a diving Adeiny Hechavarria at shortstop, and Howard scored standing up.
Miami made the score 1-all in seventh. Justin Ruggiano singled, Rob Brantly walked and Chris Valaika hit an RBI single.
A baserunning blunder allowed Halladay to escape further damage. Brantly misjudged a routine fly, and after the ball was caught he was doubled off second to end the inning.
The Marlins squandered other scoring chances as well. Halladay gave up a leadoff double to Greg Dobbs in the second, then retired the next three batters.
Miami's last in the major leagues with two home runs, and last in runs. The Phillies won despite grounding into three double plays, and they had a runner caught stealing.
The Marlins' Kevin Slowey allowed one run in 5 1-3 innings and received no decision, which represented major improvement for the right-hander. He had lost 10 consecutive starts, the longest such streak since Mike Boddicker lost 13 in a row in 1987-88, the Marlins said, citing information from the Elias Sports Bureau.