Stefan Noesen got the tiebreaking goal early in the third period and Kane added an insurance tally 50 seconds later to give the Sharks three straight wins for the first time since Nov. 21-25.
Antti Suomela also scored and Radim Simek added an empty-netter.
Martin Jones made 25 saves for San Jose.
Auston Matthews scored his 46th goal of the season and assisted on a dazzling goal by Mitch Marner, but Toronto failed to get its first four-game winning streak since December.
Jack Campbell made 33 saves.
with files from (The Associated Press)