The Yankees had a chance to take the game in regulation time but closer Mariano Rivera blew his second save opportunity of the year, allowing the Blue Jays to string together three singles to produce a 6-6 tie.
But after David Robertson (1-3) hurled a scoreless top of the 10th, Cano and Brett Gardner drew walks from David Purcey (0-1) and Thames punched a short fly to left to drive in the winning run, handing the Yankees the rubber match of a three-game series in the Bronx.
Gardner hit a two-run, inside-the-park homer in the sixth inning to forge a 5-5 tie for New York.
DeWayne Wise socked his first homer as a Blue Jay in the fifth, a three-run shot that bounced off the right field foul pole.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need