Facing the NL Cy Young award winner, New York Mets starter Jonathon Niese knew the only way to beat his counterpart, Roy Halladay, would be by keeping the game as close as possible.

Niese tried to match Halladay inning for inning but it wasn't enough as the Mets lost 2-1 to the NL East-leading Philadelphia Phillies on Saturday.

"You pitch according to the game. I tried to keep it close but two runs is enough for him (Halladay)," Niese said. "You try to match him but it's not easy. He just showed how good he is."

Niese (2-3) escaped a pair of jams in the fifth and sixth innings but he couldn't get out of the seventh.

John Mayberry Jr. led off the inning with a solo homer.

"Mayberry got a good swing on the ball. A 3-2 breaking ball that was up a little," Niese said.

Niese then followed that up by giving up a single to former Met infielder Wilson Valdez and then walked Dane Sardinha.

With Halladay up to bat, the Mets left-hander got the Phillies ace to strike out after failing to bunt the runners over.

Reliever Taylor Buchholz then came on and gave up a single to Shane Victorino.

Placido Polanco followed that up by giving the Phillies the lead with a sacrifice fly to right.

A stellar play by second baseman Daniel Murphy on a hard grounder by Jimmy Rollins ended inning. Murphy dove to his right and flipped the ball to shortstop Jose Reyes — although replays showed Victorino beat the play.

Niese pitched 6 1-3 innings allowing two runs and six hits. He struck out three and walked two. At one point he retired 11 straight batters after giving up a one-out double to the second batter of the game, Polanco.

It was New York's third straight loss after winning six in a row.

The Mets will now have to find a way to prevent from getting swept Sunday night and solve Philadelphia's other ace, Cliff Lee.

"What can I say, when you come in here you know you're going to get one of those guys," said Mets manager Terry Collins.

The victory was Philadelphia's third straight and 18th this month, a club record, after going 17-5 in 1993.

The Mets left-hander ran into trouble in the fifth when he hit Ben Francisco to start the frame and then gave up a single to Mayberry Jr. Niese then got Wilson Valdez to hit into a double-play and later retired Halladay on a pop out to Murphy to end the inning.

The Phillies threatened again in the sixth on consecutive one-out singles by Polanco and Rollins. Philadelphia slugger Ryan Howard then flew out to right-center field, allowing Polanco to advance to third. Niese escaped the inning when first baseman Ike Davis chased Francisco's foul ball after a long run and made an over-the shoulder catch.

Halladay breezed through the early part of the game, becoming the first pitcher since 1991 to throw his first 18 pitches for strikes. Sid Fernandez was the last to do so while pitching for the Mets.

It was his seventh straight win over the Mets dating back to the 2006 season. During that stretch he has a 2.29 ERA in 55 innings pitched.

"He makes all his pitches and never gives in," said Mets catcher Josh Thole, who went 0 for 3. "He's really tough when he's ahead in the count. I was trying to make him throw more pitches, but it doesn't matter to him."

The Mets got to the Philadelphia ace in the fourth on three straight hits. Murphy singled to right and David Wright reached on an infield hit to third. Carlos Beltran's single to center scored Murphy. Halladay escaped without further damage.

"We thought that we were going to be able to score at least one more. We had the chance. We had more times to try to do something against him and we couldn't do it," said Beltran, who went 2 for 4 against Halladay and came into the day with 12 hits in 38 at-bats against him.

NOTES: The Mets are 3-7 all-time against Halladay. New York is 0-2 this season against him. His last loss against the Mets came on July 16, 2001 while pitching for Toronto. ... Davis ended his hitting streak at 11 games. He went 0 for 4. ... Beltran has hit safely in 10 of his last 12 games. Over that stretch he's hitting .318 (14-44) with 4 RBI. ... Jason Bay went 0 for 4 with three strikeouts.