Real Madrid booked their spot in the Champions League final on Wednesday evening after beating Bayern Munich 2-1 at the Santiago Bernabeu thanks to two late Joselu efforts.
With the first leg having finished 2-2 in Munich, there was nothing to separate the two teams come the end of a nervy first half in the Spanish capital.
But the game exploded into life after the break following Alphonso Davies’ wonder strike and it was Joselu who proved the saviour for Madrid with two late tap-ins to send the Spanish giants to the final.
Madrid will face Borussia Dortmund in the final at Wembley Stadium on Saturday 1 June.
How the game unfolded
With the tie finely poised following an exciting draw in the first leg in Bavaria, it was unsurprisingly hosts Real Madrid that dominated early proceedings.
The newly-crowned La Liga champions were quick to set up camp in the Bayern Munich half and should have been ahead when Vinicius Junior rattled the post in the 13th minute, with Rodrygo’s rebound well stopped by a sprawling Manuel Neuer.
Bayern had shown their teeth at the other end with some efficient counter-attacks and Harry Kane came within a whisker of providing the opener with a powerful volley from outside the box. Thomas Tuchel’s side grew in confidence as the first half wore on, buoyed by a spirited defensive display.
However, despite both having their moments, neither side could make the breakthrough before the half-time whistle, with two stubborn defences and slightly cautious attacking units cancelling one another out in a cagey first half.
Both sides came out with a more aggressive mindset after the restart, with Alphonso Davies and Kane firing unsuccessfully at Andriy Lunin’s goal before Rodrygo deflected a cross millimetres wide of the Bayern post.
Madrid started to turn the screw just before the hour mark as Rodrygo and Vinicius Junior took the game by the scruff of the neck. The former saw his 25-yard free kick rebuffed by Neuer before the latter thrashed an effort goalward that the German stopper parried with a strong palm.
But, against the run of play, Bayern eventually took advantage of one of their increasingly rare forays forward to take the lead. Kane’s 50-yard pass released the speedy Davies down the left flank, who cut in on his weaker right foot and lashed a stunning drive past Lunin.
Madrid thought they had levelled just four minutes later as Nacho’s deflected effort trickled beyond Neuer from a corner. But the Spanish defender was deemed to have fouled Joshua Kimmich in the build-up to the goal, with referee Szymon Marciniak rightly chalking it off after a VAR review.
The hosts continued to push and push for an equaliser and their persistence was eventually rewarded by the unlikeliest of heroes in substitute Joselu. Neuer spilled Vinicius Junior’s bouncing effort and the Spanish forward tucked home the rebound from close range with two minutes of normal time to play.
Three minutes later and Real inexplicably had the lead, with Joselu once again proving the man in the right place at the right time. The former Stoke striker found himself unmarked six yards out following Antonio Rudiger’s cross and despite the goal initially being ruled out for offside, VAR deemed Joselu to be onside by a matter of millimetres.
Bayern threw everything they had in the closing stages, snatching what they thought was an equaliser in the 13th minute of stoppage time. The flag went up against Noussair Mazraoui seconds before Matthijs de Ligt drilled in the knockdown. Controversially, the full-back appeared to be onside, but VAR couldn’t intervene because the referee had already blown his whistle in response to the flag.
GK: Andriy Lunin – 7/10 – Stood no chance with Davies’ incredible strike and stood up to Bayern’s other efforts on his goal.
RB: Dani Carvajal – 7/10 – Beaten by Davies for the Canadian’s excellent strike, but he was aggressive in the challenge and defensively sound elsewhere on the pitch.
CB: Antonio Rudiger – 7/10 – Enjoyed his physical battle with Kane – one he often got the better of – and was helpless for Davies’ effort.
CB: Nacho Fernandez – 6/10 – Thought he had handed Real an equaliser but his foul in the build-up almost proved costly for the hosts.
LB: Ferland Mendy – 6/10 – Didn’t need to offer much attacking threat down the left flank as Vinicius Junior ate up the ground. Dealt with the tricky Leroy Sane well.
CM: Federico Valverde – 5/10 – Uncharacteristically wasteful in possession and made some strange decisions in the final third.
CM: Aurelien Tchouameni – 6/10 – A quiet evening for the Frenchman, who didn’t have too much defensive work to do.
CM: Toni Kroos – 7/10 – Another passing masterclass to add to YouTube compilation videos, but the German was sacrificed against his former employers following Bayern’s opener.
AM: Jude Bellingham – 6/10 – Not at his sharpest as he dropped into a number ten role and was unable to influence proceedings in the final third.
ST: Vinicius Junior – 8/10 – Thundered his strike off the inside of the post early on and his direct running proved almost impossible for Bayern’s defence to stop.
ST: Rodrygo -7/10 – Some excellent runs off the back of Bayern’s defence disrupted the visitors but he squandered some promising openings.
Substitutes
SUB: Luka Modric (70′ for Kroos) – 6/10
SUB: Eduardo Camavinga (70′ for Tchouameni) – 6/10
SUB: Joselu (81′ for Rodrygo) – 10/10 – A dream cameo from the much-maligned forward, who did exactly what great strikers do with two historic goals.
SUB: Brahim Diaz (81′ for Valverde) – 6/10
SUB: Eder Militao (90′ for Bellingham) – N/A
Subs not used: Thibaut Courtois (GK), Kepa Arrizabalaga (GK), Fran Garcia, Lucas Vazquez, Dani Ceballos, Arda Guler.
Manager
Carlo Ancelotti – 8/10 – Unbelievable. Just unbelievable. His Real side had the better of proceedings and their relentlessness eventually saw them through, with Ancelotti’s subs doing the business.
GK: Manuel Neuer – 5/10 – Pulled off some truly astonishing stops but his gaffe helped Real back into the tie, ultimately costing his team a place in the final.
RB: Joshua Kimmich – 5/10 – A mediocre first half was followed by a nightmarish second as Vinicius Junior continually bamboozled the Bayern man with his quick feet.
CB: Matthijs de Ligt – 6/10 – After Kim Min-jae’s stinker in the first leg, De Ligt provided a largely calming presence in the heart of defence.
CB: Eric Dier – 7/10 – Hard to believe that this was the same player who was lambasted at Tottenham. Another impressive display from the defender despite the result.
LB: Noussair Mazraoui – 6/10 – Largely kept the likes of Valverde and Carvajal quiet down his flank, with Real opting to force their attacks down the right.
CM: Aleksandar Pavlovic – 8/10 – A brilliant and mature display from the 20-year-old, who was incredibly measured in his distribution and tackling. Unfortunate to be on the losing side.
CM: Konrad Laimer – 6/10 – Another spirited outing from the midfielder, who ran his socks off across the pitch.
RM: Leroy Sane – 5/10 – Unable to prove as troublesome as he did in the first leg and made some questionable decisions on the counter-attack.
AM: Jamal Musiala – 6/10 – The youngster looked lively in the final third but lacked a bit of finesse at key moments.
LM: Serge Gnabry – 6/10 – Spurned one promising half-chance within the opening ten minutes and was forced off with injury before the hour mark.
ST: Harry Kane – 7/10 – Not his greatest centre-forward display, but did provide the assist for Davies’ effort. Will end his first season at Bayern without a trophy.
Substitutes
SUB: Alphonso Davies (27′ for Gnabry) – 8/10 – Came on to play at left wing and powered home the opener with an absolutely beautiful strike – on his weaker foot.
SUB: Kim Min-jae (76′ for Sane) – 5/10
SUB: Thomas Muller (85′ for Musiala) – 6/10
SUB: Eric Maxim Choupo-Moting (85′ for Kane) – 6/10
Subs not used: Sven Ulreich (GK), Daniel Peretz (GK), Dayot Upamecano, Leon Goretzka, Bryan Zaragoza, Mathys Tel.
Manager
Thomas Tuchel – 4/10 – So, so close to the dream evening, but his early defensive substitutions proved costly. Once Real took the lead, there could be no way back for his side.
Player of the match: Joselu (Real Madrid)
READ THE LATEST CHAMPIONS LEAGUE NEWS, PREVIEWS & RATINGS HERE