The Mets erased a 5-2 deficit with three runs in the sixth off Yankees starter CC Sabathia, highlighted by an Andres Torres two-run single.
But the Yankees reclaimed the lead in the eighth when Cano blasted a pitch from Miguel Batista (1-2) 430 feet to straightaway center field, handing the American League East-leading Yanks the rubber match in their three-game intracity rivalry series.
Boone Logan (2-0) was credited with the win after tossing 1 1/3 scoreless relief frames and Rafael Soriano collected his 15th save for the victors.
Mets starter R.A. Dickey saw his streak of six victories in six outings snapped, allowing five runs over six innings in a no-decision.
Ruben Tejada came off the disabled list to provide two RBI for the Mets.