The Bundesliga club have the opportunity to win the tournament at their home ground as they kept their composure to advance to the showpiece event on May 19
The Bavarians found themselves under the cosh straight away as Los Blancos tried to overturn the 2-1 deficit from the first leg. An early Cristiano Ronaldo double set them on their way but Arjen Robben levelled the tie from the penalty spot just before the half-hour mark.
The affair turned cagey in the second half as neither side wanted to over-commit and with extra time unable to separate the pair, the match went all the way to penalties.
Manuel Neuer saved from both Ronaldo and Kaka before Sergio Ramos skied his kick from 12 yards, allowing Bastian Schweinsteiger the chance to net the winning penalty.
Jose Mourinho made only one change from the side that defeated Barcelona at Camp Nou at the weekend with Marcelo replacing Fabio Coentrao at left-back. Jupp Heynckes recalled eight first-team players to the starting XI who were rested for their 2-1 win over Werder Bremen last Saturday.
Real Madrid came bursting out of the blocks and after Sami Khedira failed to beat Neuer from Angel Di Maria's cutback in the third minute, the hosts were awarded a penalty when the Argentine's thunderous volley hit David Alaba's arm inside the area.
Ronaldo stepped up to take the spot kick and coolly slotted into the bottom-right corner, sending Neuer the wrong way.
Bayern were unfazed and had two great opportunities to restore parity on the night. Firstly, Robben failed to tuck Alaba's cross away from inside the six-yard box and then Khedira stopped Franck Ribery from tapping in off a rebound from Mario Gomez's 20-yard strike with just 12 minutes played.
|MANUEL NEUER | PLAYER RATING
Made a rather nervy start to the game, which would not have been helped by the fact that he was left helpless as the visitors struck twice quickly. Responded well, showing good handling to field a dipping Ronaldo free kick just before the break and turning away a Benzema drive in the second half. Superb in the shoot-out, saving from Kaka and Ronaldo.
With the Bernabeu rocking, Los Blancos showed just how deadly they can be. In the 14th minute a deflected pass fell to Mesut Ozil and he had enough time to pick out an unmarked Ronaldo on the edge of the box. The Portuguese was clinical as he slid the ball past the keeper at the near post.
Bayern were seeing plenty of the ball and continued to look dangerous as Madrid relied on the counterattack and they were offered a chance to level the tie in the 27th minute.
Pepe recklessly dragged Gomez to the ground inside the area and the referee pointed to the spot. Robben took on the responsibility and exorcised his Bernabeu demons despite Iker Casillas' best efforts to keep his penalty out.
The unrelenting action continued as shortly after the hour mark as Karim Benzema almost curled a majestic effort past Neuer while Casillas was forced into saves from both Gomez and Robben before the break.
The momentum continued early in the second half as Gomez nodded just wide in the 48th minute and Benzema pulled a sprawling save from Neuer.
It soon fizzled out with the game so delicately poised as neither side dared commit too many men forward, making for a second period that starkly contrasted the first.
Chances were at a premium and the only clear-cut opportunity came in the 86th minute. Robben's pass found Gomez in space in the area but rather than shoot first time, he opted to control the ball which allowed white shirts to get back and swarm over him and the chance went begging.
It ensured the game would go to extra time and after nine minutes of the first period Pepe fed Ronaldo at the top of the box but the former Manchester United man failed to pull the trigger and test Neuer in the only chance of the half.
Esteban Granero was booked for diving as he tried to win his team a penalty in the dying moments of extra time but his side would have plenty as the game went on to a shoot-out.
Alaba netted the opening penalty but Ronaldo failed to match the Austrian as Neuer got a strong hand to the ball. Gomez converted Bayern's second and then Neuer saved Madrid's with an almost identical spot kick from Kaka.
Los Blancos pulled one back as Kroos and Philipp Lahm missed while Xabi Alonso scored but Ramos failed to draw level as he blasted over from 12 yards.
That offered Schweinsteiger the chance to put Heynckes' side into the final and deny Jose Mourinho the chance to face his former club, and he did so, dispatching the penalty with ease.
Bayern can now become the first team to win the Champions League at their home ground when they face Chelsea in the final on May 19.