Cano's home run, his 18th of the season, came after Alex Rodriguez led off the sixth inning with a double and allowed the Yankees to go up 4-3. Mark Teixeira scored an insurance run in the eighth off an Eric Chavez single.
The insurance paid off, however. The Indians parlayed two singles and two walks into a run and a bases-loaded situation before Rafael Soriano, who pitched his way into the jam, got the final out for his 17th save.
Freddy Garcia (2-2) got the win with 2 1/3 innings of no-hit relief after New York starter Andy Pettitte left the game in the fifth with an ankle injury. Cleveland starter Ubaldo Jimenez (7-6) struck out seven over six innings but allowed four runs on four hits and four walks.
Cleveland had back-to-back run scoring singles by Asdrubal Cabrera and Jason Kipnis for a 3-2 lead in the fifth, a lead the Cano homer erased.