Unai Emery masterminded another European giant-killing on Tuesday night, with a late goal from substitute Samuel Chukwueze giving Villarreal the 1-1 draw they required to progress to the semi-finals of the Champions League.
Protecting a 1-0 lead from the first leg, Emery’s charges defended for their lives in Bavaria and got their reward when Chukwueze popped up at the back post to cancel out Robert Lewandowski’s strike and put the Yellow Submarine two games away from the final in Paris.
The pattern for the game was set early on with the visitors – as expected – defending deep, narrow and in numbers, while Bayern tried their best to break down this low block.
For the most part, Die Roten failed in this endeavour, settling for an endless barrage of aimless crosses that rarely put Villarreal under pressure.
It was Gerard Moreno who would have the first meaningful chance of the match, cutting inside and curling well wide in the opening exchanges.
The Yellow Submarine survived a couple of goalmouth scrambles as the first half wore on but it took half an hour for Bayern to force Geronimo Rulli into action, with Jamal Musiala guiding a header straight into the keeper’s grateful grasp.
The hosts came out firing in the second half, and Dayot Upamecano wasted their best chance of the game when he placed a shot well over after Leroy Sane showed good composure to find him in the box.
Thankfully for Bayern, a few minutes later they did draw level on aggregate. Thomas Muller found Lewandowski on the edge of the box and the Pole was afforded all the time in the world to steady himself and roll the ball off the post and into the back of the net.
Bayern continued to turn the screw but Villarreal regained their composure defensively and stopped conceding so many shooting opportunities. The visitors also threatened on the counter at times, with Arnaut Danjuma firing an effort just past the post.
Bayern did not heed this warning though, and two minutes from time Villarreal silenced the Allianz Arena with a sucker-punch. After a great defensive header by grizzly veteran Raul Albiol, the away side turned defence into attack in a heartbeat with Moreno finding substitute Chukwueze at the back post, who beat Manuel Neuer with a clever (or extremely lucky) finish.
Here are your Bayern player ratings…
Manuel Neuer (GK) – 5/10 – Barely touched the ball to be honest, and that includes when Chukwueze shot at him in the closing stages.
Benjamin Pavard (CB) – 5/10 – Very little to do but was partly culpable for Villarreal’s winner.
Dayot Upamecano (CB) – 5/10 – A couple of loose long balls but was fairly untroubled. Could have done for the goal.
Lucas Hernandez (CB) – 5/10 – Pushed forward a lot down the left but held onto it for too long at times.
Leroy Sane (RM) – 5/10 – Did well defensively, getting the better of Arnaut Danjuma more than once. Came out strong in the second half but needed to have an impact consistently.
Joshua Kimmich (CM) – 6/10 – Caused Villarreal some issues with pinpoint balls over the top. Kept things moving in midfield.
Leon Goretzka (CM) – 5/10 – Calm in possession and drove into space whenever he got the opportunity. Intensity of his passing was lacking.
Kingsley Coman (LM) – 5/10 – Was poor in the first half, giving the ball away cheaply. Improved as things progressed, creating a couple of chances with his crosses.
Jamal Musiala (AM) – 4/10 – Struggled to find space to work in due to Villarreal compact shape. Missed a headed chance.
Thomas Muller (AM) – 5/10 – Could not get into the game early on and was visibly frustrated. Got his customary assist for Lewandowski early in the second half.
Robert Lewandowski (ST) – 6/10 – Booked for clumsily catching Raul Albiol and then had another hack at him soon after. Took his goal well – that is what he’s there for.
Serge Gnabry (AM) – 5/10 – Did not have any impact.
Alphonso Davies (CB) – N/A – Came on and almost immediately played two players onside in the build-up for the goal.
For more from Matt O’Connor-Simpson, follow him on Twitter