Bayern dominated the first half, and it only took 12 minutes for them to find the opener their play had merited.
The ever-reliable Harry Kane rifled a left-footed shot into the bottom corner - his fourth goal in three head-to-heads - after being found by Michael Olise.
The visitors continued to probe as Raphael Guerreiro forced Kevin Müller into an admittedly comfortable save moments later, before they grabbed their second through Konrad Laimer, with the Austrian neatly tucking away Serge Gnabry’s penetrating pass.
Bayern had another couple of chances to net a third before the half-hour mark, as Kane headed narrowly wide from a corner before the Englishman turned provider for Olise, who could not beat Muller from close range.
Heidenheim offered very little in the opening period, with Adrian Beck coming closest as he curled just wide from distance.
The hosts’ faint hopes of coming back was stripped away from them as Bayern netted a third before half-time as Kingsley Coman got in on the act, nutmegging Muller from a tight angle after the goalkeeper initially saved from Guerreiro following Kane’s exquisite pass.

It only took 11 minutes of the second half for Bayern to add a fourth with another different goalscorer, as Joshua Kimmich finished into the bottom corner after Guerreiro’s pass initially evaded Gnabry.
Kane then threatened a fifth with not even an hour on the clock, as his effort had to be stopped by Muller’s outstretched leg, before Heidenheim’s number one produced yet another reaction save to deny Olise.
Bayern’s goalkeeper was then called into rare action as young Jonas Urbig showed his credentials by brilliantly saving Sirlord Conteh’s shot from point-blank range.
Goalmouth action dried up in the final stages as Bayern conserved their energy and avoided going four games without a win across all competitions for the first time this season.
They remain in the driver’s seat for the title, while Heidenheim are still rooted in the relegation play-off place after an 11th home league defeat.
Flashscore Man of the Match: Harry Kane (Bayern Munich)
