New York vaulted past Boston into a half-game lead in the American League East.
Nova (15-4) allowed two first-inning runs and then settled down to give the Blue Jays only three hits over seven innings. The rookie has won eight consecutive starts.
Brett Gardner tied it with a two-run homer in the third and New York got to Brandon Morrow for what turned out to be the winning run in the fifth. Derek Jeter reached on a single with two away, Curtis Granderson walked and Cano came through with a base hit to center that brought home Jeter.
The Yankees won for the fifth time in six games, having captured two out of three against the Red Sox in a just-completed series.
Morrow (9-10) gave up three runs on four hits in six innings to suffer the loss.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Beyonce flaunts bikini body, Blue Ivy in vacation pics