Bayer Leverkusen’s unbeaten run continued in stunning fashion as they breezed to a 3-0 win over Bayern Munich on Saturday.

Knowing they could lose top spot with defeat, Leverkusen put on a show for the home fans as they dominated their famous visitors. Josip Stanisic, on loan from Bayern, opened the scoring early on before Alejandro Grimaldo added a second after the break, and Jeremie Frimpong struck in stoppage time to seal the win.

The result leaves Leverkusen five points clear at the top of the table, with the title race firmly in their hands.

How the game unfolded

Both sides made a cautious start to the game, clearly aware of just how crushing a defeat would be. A mistake from Dayot Upamecano handed Amine Adli a half-chance to open the scoring ten minutes in, but the Leverkusen man’s tame effort was scooped up by Manuel Neuer.

Leon Goretzka curled over the bar from outside the box soon after, but Leverkusen poked themselves ahead through Bayern loanee Stanisic. A fizzed cross found the right-back alone in the six-yard box, and Stanisic could hardly miss.

Leverkusen kept coming and Nathan Tella was the next to scare the visitors, stinging the gloves of Neuer from close range. The stopper then had to palm Jonathan Tah’s header over the bar.

Bayern, who had switched formation to match Leverkusen’s, looked uncomfortable and disjointed in their search for an equaliser and failed to ask any real questions of the home side’s defence. They had to thank Upamecano late in the half as the Frenchman chased back to make a great challenge after Adli had gone through on goal.

The momentum remained in Leverkusen’s favour after the break and Grimaldo doubled their lead five minutes after the restart. A one-two with Tella saw the left-back crash beyond Neuer and into the back of the net. Grimaldo then hit the angle of the goal directly from a corner as he tried to catch Neuer out.

Bayern tried to get back into the game but Leverkusen simply would not let them. They were defensively dominant and pressed with immense energy. Had this game lasted twice as long, Bayern still might not have scored.

Frimpong struck the Bayern post as the clock ticked on before leading a counter in the dying embers and, with Neuer in attack to try and save the day at the other end, he struck into an empty net to seal a historic victory for Xabi Alonso’s side.

Bayer Leverkusen player ratings (3-4-2-1)

GK: Lukas Hradecky – 6/10 – Had very little to do but was always alert.

CB: Edmond Tapsoba – 7/10 – Marked Musiala out of the game while also playing some excellent balls forward to progress play.

CB: Jonathan Tah – 7/10 – Controlled his box perfectly. Made sure Kane didn’t get the space to cause any danger.

CB: Piero Hincapie – 8/10 – The busiest of Leverkusen’s defenders, Hincapie seemed to enjoy the extra challenge. Dominant defensively and linked up with Grimaldo to perfection.

RM: Josip Stanisic – 8/10 – Up against his parent side, Stanisic took his goal well and proved too much for Musiala to contend with.

CM: Granit Xhaka – 8/10 – Controlled the midfield battle with some smart passing and tough tackling. Shook off a first-half knock to stand tall for his side.

CM: Robert Andrich – 7/10 – A smart cross for Stanisic’s opener. Good movement and passing to help keep Leverkusen on top.

LM: Alejandro Grimaldo – 8/10 – An absolute menace with some dangerous runs and chaotic crossing. Took his goal really well.

AM: Nathan Tella – 7/10 – Always willing to run beyond Bayern’s defensive line. Could have easily had a goal of his own with a bit more luck but did end up with an assist.

AM: Florian Wirtz – 7/10 – Always wanted to be in possession and was happy to try and weave around to make something happen. Bayern couldn’t figure out how to stop him.

ST: Amine Adli – 6/10 – Superb work rate but Adli just couldn’t figure things out in the final third.