The Phillies built an 11-0 lead through three innings and fought off the Mets for their third straight win. The teams combined for 27 hits, 15 of them by Philadelphia.
Philadelphia jumped on the Mets for four runs in the first with Chase Utley's RBI triple igniting the offense.
Michael Young's blast, his seventh of the season, delivered the final three runs of the inning.
Utley added a two-run homer in the fifth to help Philadelphia fight off the New York comeback bid.
Philadelphia starter Kyle Kendrick (9-6) benefited from the offensive surge and lasted 5 2/3 innings to get the win. He gave up six runs on nine hits while striking out seven.
Jeremy Hefner (4-7) was roughed up for eight runs on 10 hits in just two-plus innings to take the loss.
Police: Sword-wielding man demanded free tacos
Campus cop fatally shoots Texas student during traffic stop