Bayern Munich and Bayer Leverkusen played out a thrilling 2-2 draw at the Allianz Arena on Friday evening.
Harry Kane headed Bayern ahead early on but Alejandro Grimaldo tied things up with a sensational free kick midway through the first half.
Bayern could have had a few more goals but came up against a Leverkusen defence in real form. Goalkeeper Lukas Hradecky made countless enormous saves, while Edmond Tapsoba and Odilon Kossounou were both thoroughly impressive.
It took until the final few minutes for Bayern to find another way through. Leon Goretzka was lurking alone in the box and swept home a cross from Mathys Tel, but there was still time for Exequiel Palacios to convert a late penalty and earn his side a point.
How the game unfolded
Bayern came out hot and Konrad Laimer perhaps should have done better with a good chance inside the first three minutes, but his tame effort was gleefully received by Leverkusen stopper Hradecky.
The champions wouldn't have to wait long to get ahead, however. Kane was lurking at the back post from a corner and, after finding space away from Granit Xhaka, comfortably headed home into an empty net.
Leverkusen didn't get going at all for the first 20 minutes but forced their way back into proceedings with a few half-chances before Grimaldo's outstanding free kick fizzed into the top corner 25 minutes in.
The away side were buoyed by the goal and had the ball in the back of the net again soon after, but the offside flag spoiled Victor Boniface's fun.
Bayern nearly found themselves back ahead but Hradecky did well to deny a header from Thomas Muller, before Serge Gnabry struck the post on the follow-up.
Hradecky had three more huge saves before the break, single-handedly keeping Leverkusen level heading into the interval.
The second half nearly got off to an outrageous start as Boniface looked to catch Sven Ulreich off his line from the halfway line, only to see his strike drop on to the top of the net.
Kane had his head in his hands ten minutes into the second half as Hradecky once again pulled out an unreal save to deny him from point-blank range, with the Finnish goalkeeper proving nearly impossible to get through.
The tempo soon slowed down as both sides began to play with a little more caution, but Leverkusen were inches away from taking the lead as Florian Wirtz weaved his way into the box and drilled a low effort against the post.
Boniface caused constant problems and could have easily had two or three goals, but he would be made to pay for his profligacy when, five minutes from time, Goretzka converted from outside the six-yard box to put his side back ahead.
But Bayern's lead wouldn't last long as VAR spotted a foul from Alphonso Davies in the penalty area, and Palacios fired home to earn Leverkusen a share of the spoils.
Dayot Upamecano did find the back of the net eight minutes into injury time, but a clear offside brought the tension to an abrupt end.
Bayern Munich player ratings (4-2-3-1)
GK: Sven Ulreich - 6/10 - Could do nothing about Grimaldo's goal but had a solid outing against Boniface.
RB: Konrad Laimer - 7/10 - Brought some excellent energy in this unfamiliar position. Not the most impactful in attack but his sheer relentlessness caused problems in itself.
CB: Dayot Upamecano - 6/10 - Didn't enjoy his physical battle with Boniface at all. Looked a little nervous both in possession and when he had to get physical with the Leverkusen striker, but did far better when Florian Wirtz got through at him.
CB: Kim Min-jae - 7/10 - A comfortable presence at the back and really stood out with his passing. Looking more and more like an absolute bargain.
LB: Alphonso Davies - 6/10 - Surprisingly quiet in attack and had to focus hard on his battle with Jeremie Frimpong.
DM: Leon Goretzka - 7/10 - Put himself about with plenty of energy and made the telling impact with his late goal.
DM: Joshua Kimmich - 7/10 - Got himself into some sensational positions to try and pull the strings from deep. Generally did a good job even though he wasn't given a whole lot of help from Goretzka. Brought off at the hour mark as he steps up his return to full fitness.
RM: Leroy Sane - 7/10 - Sharp and dangerous. His energy was as much of a problem as his quick feet, while he whipped in some excellent corners which caused absolute chaos.
AM: Thomas Muller - 7/10 - Did a nice job of linking things together, but also really impressive with his high press. Enjoyed doing the dirty work.
LM: Serge Gnabry - 6/10 - Can't fault his energy but there's no denying Gnabry was the quietest of Bayern's forwards. Didn't get a lot of luck up against Frimpong.
ST: Harry Kane - 7/10 - Took his goal typically well. Was always a dangerous focal point which drew the best out of Edmond Tapsoba and Odilon Kossounou.
Substitutes
SUB: Jamal Musiala (60' for Muller) - 7/10
SUB: Noussair Mazraoui (60' for Kimmich) - 6/10
SUB: Mathys Tel (70' for Gnabry) - 7/10
SUB: Eric Maxim Choupo-Moting (85' for Kane) - N/A
SUB: Matthijs de Ligt (85' for Laimer) - N/A
Subs not used: Daniel Peretz (GK), Bouna Sarr, Taichi Fukui, Frans Kratzig, Eric Maxim Choupo-Moting
Manager
Thomas Tuchel - 5/10 - Starting Laimer was the right call but Bayern had a really tough time dealing with Leverkusen's system. Didn't seem to know what to do.
Player of the match: Lukas Hradecky (Bayer Leverkusen)
This article was originally published on 90min as Bayern Munich 2-2 Bayer Leverkusen: Player ratings as Kane strikes in enthralling draw.