The Marlins (66-68) have lost five games in a row.
Philadelphia (51-83) rallied in the ninth off closer Brad Ziegler (1-3), who had entered the game having pitched 13 consecutive scoreless innings. The Phillies cashed in when Jorge Alfaro stroked an RBI single and Andres Blanco hit a run-scoring groundout.
Juan Nicasio (3-5) pitched one-third of an inning to pick up the win.
Miami left-hander Dillon Peters, making his major league debut, got a no-decision but pitched seven scoreless innings. Peters, who missed three months of this season due to a broken left thumb, walked his first batter, Cesar Hernandez, on five pitches before settling down.
He allowed three hits -- all singles -- and three walks, striking out eight. He tied the franchise record for longest outing in a debut and also for the number of strikeouts. Several Marlins hold the first record. On the second one, Peters tied the late Jose Fernandez.
The Phillies threatened twice against Peters, getting two runners on in each of the first and sixth innings. In the first, Franco struck out swinging to end the threat. In the sixth, Franco grounded into a force play.
Marlins third baseman Brian Anderson also made his debut, going 1-for-3 with an infield single in the fourth inning. Anderson also made a diving catch on Franco's inning-ending grounder in the sixth.
Philadelphia received a good pitching performance from Nick Pivetta. He lasted six innings, allowing four hits, three walks and one run, striking out six.
Marlins second baseman Dee Gordon went 2-for-4, producing his season-best sixth consecutive multi-hit game.
But the big sluggers on both teams -- Giancarlo Stanton for Miami and Rhys Hoskins for Philadelphia -- were fairly quiet.
Stanton, who leads the majors with 51 homers, went 0-for-2 with two walks and is 1-for-17 this week.
Hoskins, a 24-year-old rookie, went 0-for-3 with a walk and had his 13-game hit streak snapped. After hitting 11 homers in his first 14 major league games, he has not launched a ball over the fence in his past nine games.
Miami opened the scoring in the first, loading the bases with no outs after getting a single by Gordon and consecutive walks. But Marcell Ozuna lined out, J.T. Realmuto struck out, and Miami managed just one run, and that came on a wild pitch in the dirt. After the wild pitch, Anderson grounded out.
That was all the scoring until the Phillies rallied in the ninth.
NOTES: Marlins RF Giancarlo Stanton finished August with 18 homers, tying a major league record for the month set by Rudy York in 1937. The record for any month is 20, set by Sammy Sosa in June 1998. ... Stanton has also received lots of attention this week after the release of a steamy music video with Lexy Panterra, an aspiring pop artist. ... Marlins 1B Justin Bour (oblique) hopes to return in about a week. ... CF Odubel Herrera (hamstring) is expected to join the Phillies on Tuesday. He had Friday off, but in a rehab game at Double-A Reading on Thursday, he went 2-for-2 with two runs scored, two RBIs, one homer to dead center and one bat flip. ... Phillies OF Aaron Altherr is not quite ready to start a rehab assignment, but that could happen this weekend.