Seven Champions League trophies separate Real Madrid and Bayern Munich in the Champions League but all Los Blancos needed tonight was a Marco Asensio goal to separate the two European heavyweights.
Joshua Kimmich had given the German side the lead in the first half before Marcelo levelled the score. A swift counter-attack in the second half from Real then mercilessly punished a Rafinha error as Asensio made it 2-1 to give Real two away goals going into the second leg.
Here are the major talking points from the game.
#1 Real Madrid struggle with Cristiano Ronaldo as centre-forward
When the lineups were announced, Zinedine Zidane's teamsheet had many fans scratching their heads. Both Karim Benzema and Gareth Bale were rested while Lucas Vazquez and Isco were handed starts.
This move saw Cristiano Ronaldo leading the line and it did not go according to plan for Real Madrid. Without Benzema on the pitch, Bayern's centre-backs had the easy task of teaming up to deal with Ronaldo.
Vazquez did not make many forays into the box to occupy either of the two centre-backs while Isco was dealt with by Bayern's full-backs who even switched flanks at certain times.
Real were toothless for most of the first half with Ronaldo managing just a single shot on goal. The only time he was a threat was when Dani Carvajal sent in crosses into the box but there was simply no space for him to repeat his bicycle-kick heroics from the Juventus game.
Ronaldo's frustrating night was highlighted by two incidents - one where his miscued shot went out for a throw-in near the corner flag and another where he controlled a cross to score before the referee blew the whistle for a handball from the Portuguese forward.
#2 Injuries force Bayern Munich into making two unplanned substitutions
Playing at home, Bayern Munich fans were in for a shock when Arjen Robben pulled up with an injury just five minutes into the game. The Dutch winger's expression said it all as he sat on the pitch waiting for the physios to attend to him.
As a result, Jupp Heynckes had to bring on Thiago Alcantara and change the shape of the team. Thomas Muller, who was playing in support of Robert Lewandowski, was pushed out wide so Alcantara could take his place in midfield.
This move saw Muller fail to make an impact on the game in the first half. Although his work-rate was terrific, he was hardly involved in Bayern's attacks. The only time he did manage to make trouble Real was in set-pieces but Navas and co kept him at bay.
To make matters worse for the Bavarian side, Jerome Boateng then came off injured with what seemed like a groin injury.
It was worse than Robben's injury as he needed help when he hobbled off and Heynckes saw his plans thrown into the dustbin, bringing on Niklas Sule to partner Mats Hummels in central defence.
34 minutes. Two unplanned substitutions.
#3 Full-backs score against the run of play in first half
The semi-final kicked off with what was a very scrappy start in the first 10-15 minutes. Both sides fought tooth and nail for every 50-50 challenge and there were a few fouls in the opening stages of the game, some which might even be considered bookable offences in different circumstances.
Although Robert Lewandowski, Cristiano Ronaldo, and Thomas Muller (in the first 30 seconds) had chances at either end, it was the full-backs that eventually got the game going with two goals that came completely against the run of play.
The opening goal came when James Rodriguez slipped through Joshua Kimmich with a pass that bisected two Real defenders out on the right. The 23-year-old German had acres of space to run into and had both Lewandowski and Franck Ribery in support in the box.
Recognising that, Navas moved to his right when Kimmich swung his foot, expecting a cross. However, he had flummoxed the Costa Rican goalkeeper with a shot that eventually slipped through his fingers to find the net.
Not to be outdone, Marcelo then got in the act with a peach of a goal that no one saw coming. Real had been poor throughout the first half and still managed to get on the scoresheet when he pounced on a ball that had not been cleared by the Bayern defence.
A first-time shot across goal was enough to beat Sven Ulreich to make it 1-1 going into half-time.
#4 Marco Asensio makes the difference yet again in a big game
With Isco struggling to make any sort of impact in the game, Zidane hauled him off at the half-time interval and introduced Marco Asensio.
Real's game up till that point was all about pressing Bayern Munich who, to their credit, were able to defeat the press and play their way out of trouble.
However, Isco was a mere passenger and his performance was a stark contrast to Real Madrid loanee James Rodriguez who was running things in midfield for Bayern. A shoulder injury also sealed his fate and made it easier for Zidane to take him off.
Also read: Isco injury prompted Asensio introduction – Zidane
When Asensio came on, there was a noticeable difference in Real's strategy. As Bayern increased their pressure in attack, Real were only looking to defend and play on the counter-attack.
And it was one such move that eventually paid off. A Bayern corner saw the ball fall to Rafinha who made a mess of his pass, allowing Asensio to release Vazquez to create a two-on-one situation, receiving the ball at the edge of the box to beat Ulreich to make it 2-1 to the visitors.
Two crucial away goals.
The 22-year-old is clearly a man for the big occasion. Last season saw him score in the quarter-final against the same opponents and he had found the back of the net once again in the final against Juventus.
#5 Does Gareth Bale have a future at Real Madrid?
Prior to the game, Zidane had mentioned that players who did not get enough playing time could leave the club this summer. One such name is Gareth Bale who has actually been linked with Bayern Munich, even though he has brushed aside any speculation.
"Bayern have a fantastic squad and already in the past they have always been one of the most successful clubs in Europe. It's an honour for everyone to be linked with this club. But as of now I am a Real Madrid player." - Gareth Bale
However, how much longer will he remain a Real Madrid player? Bought for £86m and fit to play this game, the Welshman did not even come on as a substitute, let alone start the game.
With Real effectively playing on the counter in the second half, the game was tailor-made for Bale to have a go at a Bayern team looking to attack and get back in the game. And yet, Zidane chose to go with Asensio - a move that paid off.
Dani Carvajal's injury and Casemiro's yellow card may have played a part but both those players came off only in the 67th minute and 83rd minute respectively.
The fact that Zidane did not even consider bringing Bale on in such a big game suggests his time at the Bernabeu may be coming to an end.