Real Madrid called upon all of their experience at the Allianz Arena to snatch a third successive win in Germany, coming from behind to take control of the first leg with a masterclass in counter attacking football.
The left footed efforts of defender Marcelo and substitute Marco Asensio was enough to take advantage of a wasteful Bayern Munich, who never got going after taking the lead through a Joshua Kimmich strike.
Following Liverpool's explosive first half against Roma in the other Champions League semi-final, both sides in the Allianz Arena erred on the side of caution in a cagey start. As they jostled for early possession on a tantalising night in Germany, an early blow struck the already depleted Bayern Munich squad, as former Los Blancos star Arjen Robben left the pitch with an inconspicuous thigh injury.
Replacing the dangerous Dutch winger, Thiago Alcantara tried to get a hold of the ball for the hosts, giving the ball away several times in a first half opening lacking clear-cut chances.
Arjen Robben hobbles off injured very early on in the game, this could be a huge factor in deciding the outcome#FCBRMA— 90min (@90min_Football) April 25, 2018
With chances few and far between, the best opportunity in the first 20 minutes fell to an unlikely source, as full back Dani Carvajal found space in the box following a neat one-two, smashing a shot at deputy goalkeeper Sven Ulreich.
Showing his counterpart how it's done, young starlet and promising defender Joshua Kimmich took full advantage of a wasted opportunity, breaking forward to give the Bavarians the lead. Starting the move inside his own box, a sweeping counter attack ended with Kimmich emphatically bagging his fifth goal of the season emphatically, smashing home from a James Rodriguez pass - on loan from parent club Real Madrid - to give Bayern Munich the lead.
Replays showed a poor effort from Keylor Navas to save a routine shot, as the Costa Rican demonstrated a lack of experience to dive over the ball instead of parrying away.
Jerome Boateng also departed the field with a hamstring injury inside 30 minutes as the hosts dropped like flies. Not stopping the Bayern Munich juggernaut, who have already wrapped up the Bundesliga and still on course for a treble, Franck Ribery wasted a chance to double the lead with a poor first touch inside the box, sparing the blushes of the Los Merengues defence.
Lining up to take full advantage of a lacklustre Real Madrid back line, Germany international Mats Hummels was close to the second of the night, driving a volley from eight yards out over the bar from a Bayern Munich corner.
Against the run of play, the experience of Real Madrid highlighted if you don't take your chances you will pay for it. On the stroke of half time, a headed pass across the box from Carvajal teed up an unmarked Marcelo outside the box after a Ronaldo overhead kick attempt. With his head up, the Brazilian defender smashed home a left footed shot to level up the game and kick off the battle of the full backs.
With just enough time before an enthralling end to the first half, Polish captain Robert Lewandowski should've put the hosts back in the lead, fluffing his lines and a free-header from a Rodriguez free kick. Wasting chance after chance, Thomas Muller also got in on the act with a missed diving header at the back post.
The half time team talk showed at the beginning of the second half, as Bayern Munich fired out of the blocks. The dangerous Ribery, turning the defence inside out all night, was inches away from gifting his side a second. Showing a clean set of heels to Casemiro, the French winger pulled a cross back to set up a tap in for Muller, but an excellent intervention from Raphael Varane kept the score line level.
It didn't take long for that to change as Bayern Munich, despite their domestic dominance, again highlighted their naivety in European competition. From a corner, the hosts were punished for a poor mistake on the half way line. With only two defenders back, Rafinha gifted possession to half time substitute Asensio.
The exciting Spanish winger staked a claim for a starting berth with blistering pace. Giving the ball out wide to Carvajal, the compatriots linked up as Asensio received the ball in acres of space inside the box, before placing his shot past Ulreich with ease to snatch two away goals.
Taking matters into his own hands, Ribery nearly equalised instantly from another corner. Jinking inside the box, the former Marseille midfielder again tested Navas with a low shot that was pushed away from goal.
Not for the first time in the first leg, referee Bjorn Kuipers was called into action as the home fans jeered for another penalty claim, which was waved away by the Dutch official after a tangle between Lewandowski and Muller.
Ronaldo has the ball in the net with a lovely finish but it's rightly ruled out for a handball!#FCBRMA— 90min (@90min_Football) April 25, 2018
In a frantic second half, Kuipers waved away further protests from Ronaldo, who had the ball in the back of the net. Controlling the ball expertly - albeit with his arm - the Portuguese talisman buried his shot, which was instantly ruled out.
Sensing a chance to put the tie to bed, substitute Karim Benzema nearly bagged a third with 15 minutes left on the clock. The French forward was in a perfect position to score, but the striker who has been in and out of the team hit his first attempt straight at the goalkeeper.
With the final clear cut chance of the game, Real Madrid transfer target Lewandowski fluffed his lines once again, missing a relatively easy chance with the goal gaping as Navas breathed a sigh of relief.
A relieved Zinedine Zidane looked delighted at the final whistle as his side take two vital away goals back to Santiago Bernabeu for the second-leg in a weeks' time.