MIAMI -- Maikel Franco made an adjustment, and it paid off.
"He had a different approach in batting practice, and it was obvious," Phillies manager Pete Mackanin said of Franco, who has seven game-winning RBIs this year. "He really concentrated on staying above the ball and leveling off his swing."
Franco's solo blast to left-center field broke a 2-2 tie in the eighth inning. It was his 14th homer of the season and his fourth this month. His past three homers have broken deadlocks.
Marlins reliever Dustin McGowan (5-1), who gave up the homer to Franco, took the loss.
All-Star reliever Pat Neshek (3-2) earned the win for the Phillies (31-61), who have the worst record in the majors. Of Neshek's 41 appearances this season, 39 have been scoreless.
Hector Neris tossed a perfect ninth inning for his ninth save.
Miami (42-50) was powered by Stanton, who leads the National League with 29 home runs in just 92 games, the fastest homer pace in franchise history.
His homer in the first inning might have been a two-run shot had it not been for a prior call that was overturned. Dee Gordon, batting one spot ahead of Stanton, initially beat out an infield single, but the ruling was changed upon video review.
"I don't think it turned any true momentum in the game," Marlins manager Don Mattingly said. "We got momentum right away with (Stanton's) homer."
Neither starter earned a decision.
Marlins left-hander Adam Conley allowed two runs in six innings in his first start since returning from Triple-A New Orleans.
"It was a step in the right direction," Conley said. "I think the urgency to do my job was there all night."
Phillies right-hander Vince Velasquez allowed two runs, one earned, in six innings in his first start since he was placed on the disabled list on May 30 due to an elbow injury.
"I feel good from the get-go, pitching to contact," Velasquez said. "I just tried to pick up where I left off (before the injury)."
For the second game in a row, Stanton provided the first score with a homer. This time it was a solo blast to left that was measured at 442 feet, with an exit velocity of 111 mph.
The Phillies evened the score in the second on an RBI single by Cameron Perkins. Philadelphia might have scored more, but Franco was thrown out at home on the front end of an unusual double play.
Miami took a 2-1 lead in the third. Velasquez barehanded a swinging bunt by JT Riddle but threw wildly past first baseman Tommy Joseph. Riddle wound up at third on a two-base error. On the next pitch, catcher Cameron Rupp failed to backhand a low throw, and Riddle scored on the passed ball.
Philadelphia tied the score 2-2 in the fourth. Odubel Herrera walked on a 3-2 pitch, advanced to second base on a wild pitch and to third on a single to left by Rupp. Herrera scored on Perkins' bunt single between the mound and first base.
Phillies rookie Nick Williams hit a two-run homer in the ninth inning to provide the final margin.
As it turned out, that was too much for the Marlins to overcome.
"This was a game," Mattingly said, "where we shut down offensively."
NOTES: Marlins OF Ichiro Suzuki had a pinch-hit single in the eighth. It was career hit No. 3,056, which moved him into 23rd place on the all-time list, ahead of Rickey Henderson. ... Marlins RHP Dan Straily (hand) will make his scheduled start in Wednesday's series finale against the Phillies and RHP Nick Pivetta. ... Marlins RHP Drew Steckenrider, who earned his first major league win Monday night, was sent to Triple-A New Orleans to make room for Tuesday's starter, LHP Adam Conley. ... Phillies rookie RF Nick Williams was moved to third in the batting order for just the second time this season. ... Phillies RHP Luis Garcia has a career-long scoreless streak of 15 1/3 innings, dating to June 14. Batters are hitting just .132 against him during that stretch (7-for-53), and his streak as of Tuesday morning was the second-longest active run in the majors.