While the Mets received some bad news off the field last 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 inning 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 that 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."

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 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.

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.

Said manager Terry Collins of Syndergaard: "I don't think any of us could have predicted the rise to where he's at this fast."

Syndergaard started strong, striking out Venable swinging with a 97-mile-per-hour fastball in the first. After getting Solarte to line out to center, the rookie struck out Kemp looking with a 96-mph sinking fastball.

Shields (8-4, 3.77 ERA), was sharp as well, allowing three runs, seven hits and no walks, striking out four in seven innings.

Shields 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.