Pete Alonso hit an early RBI single as the NL East leaders improved to 31-9 following a loss and 10-4 in the season series with Philadelphia. Alonso leads the NL with 97 RBIs.
Diaz issued two walks in the ninth, and Philadelphia had runners on second and third when Nick Castellanos struck out swinging for the final out. It was Diaz's 27th save of the season.
The All-Star closer became the sixth active pitcher to reach 200 saves.
''It's awesome,'' deGrom said. ''He's done a great job and you're comfortable any time he's in the game.''
The Mets posted their MLB-best 15th shutout. It was their first 1-0 win over Philadelphia since R.A. Dickey tossed a one-hitter exactly 12 years ago at Citi Field.
''The star of the show was our pitching staff,'' Alonso said.
DeGrom (2-0) allowed two hits and walked none in his third start after spending the first part of the season on the injured list. He has yielded six hits, struck out 28 and issued one walk in 16 2/3 innings so far this year.
''You don't really know what to expect coming back, but last time out I was able to look at a couple of things where I felt I was getting off mechanically and try to make those adjustments while I was going through a pretty slow process of coming back,'' deGrom said. ''That seems to have paid off a little bit.''
The two-time NL Cy Young Award winner opened the game by striking out Bryson Stott looking on a 101.1 mph fastball and then allowed a soft single to Rhys Hoskins. After Alec Bohm grounded into a force play, deGrom fanned J.T. Realmuto on three straight sliders.
''Nothing's different from the last time that I faced him,'' Hoskins said.
It was deGrom's second double-digit strikeout game since returning and his 55th in the regular season overall. He improved to 9-1 in 20 career starts against the Phillies.
''He's doing great,'' Diaz said. ''He can do everything he wants with the hitters.''
Philadelphia wasted a terrific performance by Aaron Nola (8-9), who allowed four hits in eight innings. The right-hander struck out eight and walked one, but he dropped to 0-3 in four starts against New York this year.
Nola became the first Philadelphia pitcher to toss a complete game against the Mets in New York since Kyle Kendrick in 2013.
The Phillies finished with three hits.
New York jumped in front in the first. Starling Marte singled, stole second and took third on a throwing error by Realmuto before scoring on Alonso's soft single to right.
After Alonso's hit, Luis Guillorme and Jeff McNeil had consecutive one-out singles in the second. Nola retired 17 in a row before McNeil started the eighth with a walk.
''Facing deGrom, you know it's going to be low (scoring),'' Nola said. ''So it's just going to be a battle all night. And it was.''
Phillies: OF Kyle Schwarber (strained right calf) took batting practice on the field and ran in the outfield before hitting for Matt Vierling in the eighth. Schwarber was pulled in the fifth inning of Thursday's 3-0 loss to Miami and sat out Friday.
Mets: 3B Eduardo Escobar (left side tightness) was held out of the lineup and an MRI came back clean. ... INF/OF Jeff McNeil was in the lineup after getting two stitches for a lacerated right thumb. McNeil exited Friday's game in the second with the injury. . RHP Tommy Hunter (low back tightness) began a rehab assignment with Double-A Binghamton.
Philadelphia right-hander Zack Wheeler (11-5, 2.63 ERA) opposes New York right-hander Chris Bassitt (9-7, 3.39 ERA) on Sunday. Wheeler is 4-2 with a 2.48 ERA in 10 career starts against the Mets. He broke into the majors with New York in 2013 and went 44-38 with a 3.77 ERA in 126 starts with the Mets.
More AP MLB: https://apnews.com/hub/MLB and https://twitter.com/AP-Sports
Copyright 2022 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.