While the Mets received some bad news off the field Tuesday night, the on-field result was as good as possible -- even if it wasn't perfect.

Noah Syndergaard had a perfect game broken up in the seventh and pitched eight shutout innings in the Mets' 4-0 win over the Padres in front of 26,034 fans at Citi Field. Syndergaard struck out nine and allowed three hits and no walks on a night when Major League Baseball announced that Mets reliever Jenrry Mejia would receive a 162-game suspension for a second positive test for performance-enhancing drugs.

"Everything was working for me," Syndergaard said. "My two-seam, I was able to locate it on both sides of the plate . . . I was able to keep them off balance with my curveball and my changeup."

StatsMets vs. Padres boxscoreDataNo-hitters and perfect games

Lucas Duda hit a two-run home run off James Shields in the first and Curtis Granderson's two-run homer in the eighth doubled their lead. The Mets improved to 52-48 and trail Washington by one game in the National League East.

Tyler Clippard, who was acquired from Oakland on Monday night, made his Mets debut, pitching a scoreless ninth.

Syndergaard (5-5, 2.70 ERA) cruised through six innings, and though he lost his bid for perfection in the seventh, he pitched out of a jam to keep the Padres off the board.

advertisement | advertise on newsday

Will Venable led off with a single to center, and on the next play, shortstop Ruben Tejada made a diving stop on Yangervis Solarte's grounder, but his errant flip to second allowed Venable to reach third.

Syndergaard escaped, however, getting Matt Kemp on a pop-up to second base and Justin Upton on a double play.

"You just have to zone back in, get back on the mound and make quality pitches," Syndergaard said.

Mets videos

Manager Terry Collins said of Syndergaard: "I don't think any of us could have predicted the rise to where he's at this fast . . . He was outstanding."

Syndergaard threw 107 pitches, 70 for strikes. Collins said his plan was to keep his starter "around 100 pitches . . . I know the kid wanted to go back out there in the ninth inning, pitch a shutout. I get that. But we have a responsibility . . . to let these guys go out there and [be able to] pitch late into the season."

Shields (8-4, 3.77 ERA) allowed a pair of runs in the first. After Daniel Murphy's two-out single, Duda hit his 15th home run to center.

Juan Lagares, pinch hitting for Syndergaard, doubled to right leading off the eighth. Shawn Kelley replaced Shields, and the former Yankee surrendered a home run to right by Granderson, making it 4-0.