Leverkusen were without star man Kai Havertz after he limped off injured last Friday against SC Freiburg. Meanwhie, Bayern's only change saw Jerome Boateng back in the centre of defence.
Leverkusen's hopes of an upset as in the reverse fixture last November were boosted after Lucas Alario propped up at the near post to drill home a pin-point delivery after nine minutes.
The Bavarians were on the ropes, but levelled following a swift finish from Kingsley Coman after an equally swift counter spearheaded by Leon Goretzka following the half-hour mark.
Goretzka refused to be left behind as he got on the end of a telling move after 42 minutes to beat a scrambling Lukas Hradecky from a tight angle.
Leverkusen's woes were compounded on the stroke of halftime after Serge Gnabry got on the end of Joshua Kimmich's through ball before beating Hradecky with ease after turning the defence.
Peter Bosz's side started the second half with three straight changes in Florian Wirtz, Kerem Demirbay and Wendell as they looked to claw into the Bavarians' lead.
Robert Lewandowski, who had been quiet thus far, made his presence felt after 66 minutes when he leaped to head home Muller's ball for his 44th strike of the season.
Leverkusen pushed for a second and found their just rewards after Paulinho picked out Wirtz, who found the far corner of Manuel Neuer's goal in the final minute.
Die Werkself looked for more as full-time loomed, but the Bavarians held out the remaining minutes to avenge the first round defeat.