Ike Davis belted a three-run homer during a five-run first inning Friday night and the Mets went on to beat the Yankees, 6-4, in the opener of a three-game series.
The Mets won their fourth straight game overall but just their third in the last 12 against the Yankees, who swept them in a three-game series earlier this month.
Jon Niese (5-3) snapped a two-start winless streak after allowing two runs on eight hits and a walk in 6 1/3 innings, striking out five.
The bullpen gave up two more runs but Frank Francisco pitched out of a jam in the ninth inning to earn his 18th save.
Robinson Cano hit a two-run homer and Alex Rodriguez and Andruw Jones added solo blasts for the Yankees, who have lost three in a row on the heels of a 10-game winning streak.
They are 10-3 during a current 15-game stretch against NL East teams, which started with a three-game sweep against the Mets at home from June 8-10.
Andy Pettitte (3-3) settled down after giving up five runs on five hits and two walks in the first inning. He allowed just two more hits and struck out six in his six innings.
"Unacceptable," said Pettitte. "We lost two games in a row and I come in and give up five in the first ... talk about disappointing."
After a 53-minute rain delay, the Mets struck quickly against Pettitte.
Davis' three-run homer went over the wall off Nick Swisher's glove -- the right fielder timed his jump perfectly, but couldn't pull it in -- to cap the five-run first inning. It came after Justin Turner's two-run single with the bases loaded.
"I thought he was going to catch it the way he ran back because he kind of stopped at the track," said Davis. "I was like, 'Oh, man, I thought I got it a little better than that.' But then he went back and jumped and it hit off his glove and I saw it go over. It was a good feeling."
Pettitte threw 33 pitches in the inning, also giving up singles to Ronny Cedeno, Mike Nickeas and Niese and walks to Andres Torres and Scott Hairston.
Niese, meanwhile, pitched around two singles in the first inning and escaped a second-and-third jam in the second. He pitched to just one over the minimum after that until Rodriguez blasted a one-out pitch over the center field wall and onto the Citi Field home run apple in the sixth for his 12th homer.
Jones led off the seventh inning with his seventh homer of the season to left field, pulling the Yankees within 5-2, and Niese came out after giving up a one-out single to Jayson Nix.
Bobby Parnell finished the inning and Miguel Batista gave up Cano's homer in the eighth, a long blast into the seats above right-center field.
The Yankees put the tying runs on in the ninth on a Raul Ibanez walk and Derek Jeter single before Francisco struck out Curtis Granderson and got Mark Teixeira to pop out.
Mets third baseman David Wright extended his hitting streak to 12 games with a single in the second inning...The Mets were coming off a three-game sweep of the Orioles after being swept by the Reds. They are 4-3 on a nine-game homestand.