Ryan Howard and Chase Utley homered as the NL East leaders held their edge over Atlanta. Wilson Valdez, subbing for injured shortstop Jimmy Rollins, drove in two runs and scored once.
Halladay (18-10) became the Phillies' top winner since John Denny posted 19 during his Cy Young season in 1983. A strange stat, considering Philadelphia's success of late. In fact, every other franchise in the majors except Tampa Bay - with David Price currently at 17 - had a pitcher win at least 18 over that span.
Halladay tied Colorado's Ubaldo Jimenez and St. Louis' Adam Wainwright for the NL victory lead. He took over the league lead in strikeouts, fanning Luis Castillo for his 200th victim.
It was hardly vintage Halladay, as he allowed four runs and eight hits in 7 2-3 innings.
Halladay needed a mound meeting with catcher Carlos Ruiz after throwing only one pitch and again got bit by the home run bug. He nicked the No. 8 batter with a pitch and saw the opposing pitcher line a sharp single for his first career hit.
Still, Halladay improved to 4-0 against the Mets this year. This marked his 53rd consecutive road start of going at least six innings, the longest such streak in the majors since Walter Johnson went 82 straight in 1911-15. Halladay tops the majors with 228 2-3 innings this season.
Carlos Beltran homered and Josh Thole singled three times off Halladay, making the Mets rookie catcher 6 for 9 lifetime against the Phillies ace. Jose Reyes returned after missing two weeks with a strained right oblique and delivered an RBI double.
Mets rookie pitcher Jenrry Mejia was more effective with his bat and legs than arm. He singled in the third for his first hit, then raced around the bases and belly-flopped home on a double by Reyes. Beltran homered a batter later for a 3-2 lead. In Halladay's previous start, he yielded a career-high four homers against Milwaukee.
But Mejia (0-4) remained winless as a big leaguer.
Howard launched an opposite-field shot that cleared the high wall in left for his 29th home run, the solo shot making it 3-all in the fourth.
The Phillies loaded the bases with two outs later in the inning and, with Halladay due up, Mets pitching coach Dan Warthen and all the New York infielders went to the mound. Halladay, a career .120 hitter with four RBIs lifetime at that point, chopped the next pitch over Mejia's head for a go-ahead single. Shane Victorino's RBI single made it 6-3.
Phillies fans began assembling outside Citi Field more than three hours before the first pitch, and many red jerseys were left in the crowd as Philadelphia won for the 13th time in 15 road games. Ruiz contributed, going 3 for 3 with two walks.
NOTES: Rollins was out because of tightness in his right hamstring. He may miss a couple of games. ... RHP Kyle Kendrick will start for Philadelphia on Saturday. He's been struggling and the Phillies considered using rookie Vance Worley. ... The Mets honored former C Ed Hearn and his foundation. He's had three kidney transplants since 1991. A member of the 1986 World Series champs, he threw out the ceremonial first ball and winged it to the backstop.