The Mets built an 8-0 lead and held on in a game that included 24 hits -- 19 of them singles. It was the first win at Yankee Stadium for the Mets in six tries.
Yankees starter David Phelps (3-3) failed to make it out of the first inning, during which 10 Mets came to the plate.
Daniel Murphy doubled home the first run in the opening inning and then scored on a single by John Buck. A fielder's choice grounder from Marlon Byrd brought home David Wright with the third run and Davis followed with his two-RBI single to center.
Byrd contributed a solo homer in the third and Lucas Duda drove in two runs with a fourth-inning double.
Jeremy Hefner (1-5) lasted six innings to get the win, giving up three runs on nine hits. It took him 10 starts to get his first victory of the season after turning in a 4-7 record in 2012.
Brennan Boesch led the Yankees' offense by going 3-for-4 with a home run and two RBI.