Bayern Munich will face Chelsea in the 2012 Champions League final after prevailing in a penalty shoot-out against Real Madrid following an enthralling two-legged semi-final.

Cristiano Ronaldo scored twice in normal time, the first from a penalty, but a spot kick of his own from Arjen Robben levelled the scores on aggregate.

The deadlock couldn't be broken in extra time, with the lottery of penalties left to decide the contest, as Manuel Neuer saved from Ronaldo and Kaka, with Sergio Ramos blazing over.

It was left to Bastian Schweinsteiger to stroke home the winner to send Jupp Heynckes' side into their second final in three years on their own ground, the Allianz Arena, and deny Jose Mourinho of a battle against his former side from west London.

Bayern Munich
Munich prevailed in a dramatic penalty shoot-out.

Both sides had emotion-brimmed motives for wanting to reach next month's 57th European Cup final, with Mourinho look to set a date with former club Chelsea, while Bayern would have a final on their own patch to look forward to should they bypass the La Liga leaders.

In similar fashion to the drama filled first-leg, the tie came to life in an instant as Angel Di Maria's volley was handled by David Alaba, with referee Viktor Kassai not hesitating in awarding a penalty after just five minutes

The Munich fullback was subsequently booked, ruling him out of the final, before Ronaldo stepped up to convert his 25th consecutive spot-kick.

Alaba could have been forgiven for meandering through the rest of the evening, but immediately he was on the front foot, crossing for Robben, who skewed his volley over the bar from close range.

And the Dutchman was made to pay for his lax finishing before the quarter-hour mark as Mesut Ozil fed Ronaldo, who slotted past Manuel Neuer.

The visitors weren't perturbed and after Holger Badstuber went close from a corner, Munich got a foothold in the tie after they were awarded a penalty following Pepe's push on Mario Gomez.

Against his former club, Robben snuck the spot-kick beyond Iker Casillas, who could only get a touch to the ball, handing the initiative back to Bayern and squaring the tie on aggregate.

In contrast to the previous evenings semi-final, where Chelsea's grit met Barcelona's style, neither side were holding back at the Bernabeu with chances coming at both ends.

Gomez could twice have put Munich ahead on aggregate but saw Casillas and Pepe deny him, before a brilliant saving tackle from Xabi Alonso halted Franck Ribery's progress.

A helter-skelter first half made way for a quieter second period but the away side's authority did continue and Gomez again missed an opportunity to net Bayern's second, but headed wide.

Tiredness then began to play a major factor as the half wore on, with the fleeting pair of Ronaldo and Robben causing the only threat at either end.

The Munich winger was the one who almost unlocked the door in the closing minutes, playing in Gomez, who typified his lacklustre performance, fluffing his lines as Real breathed a huge sigh of relief.

The closeness of the second half saw the game go into extra time, with the match's scrappy make-up dominating much of the first period, which saw Luiz Gustavo and Badstuber both booked, cautions that rule them both out of the final.

Chances were becoming increasingly few and far between, and such was the desperation that substitute Esteban Granero threw himself to the floor looking for a penalty, but only earned a booking.

And Madrid's anxiety rolled over into the penalty shoot-out as Ronaldo and Kaka were both denied by Neuer as Alaba and Gomez gave Munich a two-goal lead.

Toni Kroos and Philipp Lahm saw Casillas save their respective efforts saved after Alonso's successful strike, but Ramos smashed his effort into the crowd.

Schweinsteiger then kept his cool to sent the German side into the most unlikely of finals, with Chelsea lying in wait.