Bayern's 10th consecutive league win over their old rival dealt Dortmund a first defeat of the season in the Bundesliga, and it banished any fears of a slump in form following their own shock German Cup exit on Wednesday.
Bayern have now won their last 10 league games against Dortmund by a combined score of 33-11.
It also lifted the 11-time defending champions five points clear of Dortmund after 10 rounds, two behind early season leaders Bayer Leverkusen, who stayed top with a 3-2 win at Hoffenheim earlier on Saturday.
Golden chances came at both ends either side of halftime, but goalkeeper Gregor Kobel was beaten again in the 72nd when Kane netted his 14th goal of the season. And he got No.15 in added time.
"I am delighted for the team which showed a top performance," Bayern coach Thomas Tuchel told Sky TV.
"We were very focused and effective. I am delighted for the team after the game on Wednesday. The team showed a very good reaction."
Earlier, Alex Grimaldo scored twice as Leverkusen stayed top with a hard-fought win at Hoffenheim.
Xabi Alonso's team had let a two-goal lead slip.
Florian Wirtz scored in the ninth minute and Grimaldo added another with a fine strike from distance before the break.
Then Hoffenheim's Anton Stach pulled one back in the 56th after intercepting a poor pass from Leverkusen goalkeeper Lukas Hradecky, and Wout Weghorst equalised two minutes later after Maximilian Beier's initial effort struck the post.
Grimaldo had the final say in the 70th when Boniface sent the ball back to him to unleash another fierce shot into the top corner.