Mike Krukow and Ron Reed pitched an eight-hitter as Philadelphia won in New York.
Because of the Cardinals' 3-1 victory over Chicago, Philadelphia stayed 4 1/2 games behind St. Louis in the race for the NL East title.
Krukow (13-11) did not allow the Mets a hit for seven innings. He left the game in the eighth after George Foster opened with a triple off the glove of center fielder Garry Maddox. Reed then earned his 13th save, although allowing a home run to Mike Howard in the ninth.
The Phillies scored an unearned run in the fourth off Walt Terrell (0-2) without a hit to take a 1-0 lead. Terrell walked Gary Matthews and Mike Schmidt and, after Bo Diaz hit into a double play, first baseman Dave Kingman booted George Vukovich's grounder, allowing Matthews to score.
Philadelphia added a run in the sixth when Schmidt walked, stole second, advanced to third on a wild pitch and scored on a bloop single to right by Vukovich.
The Mets threatened in the sixth, seventh and eighth. Krukow pitched out of a bases-loaded predicament in the sixth, and in the seventh second baseman Manny Trillo's fine defensive play got Krukow out of trouble.