Mario Gomez scored a last minute goal to give Bayern Munich a vital 2-1 advantage over Real Madrid in their Champions League semi-final first leg.

Franck Ribery gave the home side a first-half lead that was cancelled out after the break by Germany's own Mesut Ozil, before Gomez's potentially crucial late strike.

The match featured one of the classic rivalries of European soccer, with Real and Bayern having won the European Cup 13 times between them.

Bayern boss Juup Heynckes threw up something of a surprise in his starting lineup as he left out Thomas Muller and selected Bastian Schweinsteiger, Toni Kroos and Luiz Gustavo in the midfield.

And it was the home side that grabbed the early lead in the 17th minute. A Bayern corner from the right was missed by Pepe before striking fellow defender Sergio Ramos. The ball then appeared to unintentionally strike the arm of a Bayern attacker before Ribery pounced to drive the ball low through a crowd of players and past Iker Casillas.

The goal came as the perfect tonic for the Frenchman, arriving as it did just minutes after he had been denied a penalty by referee Howard Webb following a challenge by Ramos.

But Bayern were unable to maintain their lead and Real grabbed what could prove a vital away goal eight minutes into the second half.

It was no surprise that Cristiano Ronaldo was the architect as his initial shot was parried away by keeper Manuel Neuer. The ball then found its way to Karim Benzema, who surged down the right of the box before scuffing the ball across the box where Ronaldo was involved once more to pull it back for Ozil to finish from just a couple of yards out.

And Bayern were soon kicking themselves as they missed a golden chance to retake the lead.

After an awful defensive intervention by Sergio Ramos, the ball fell to the normally lethal Mario Gomez just a few yards from goal, but the Champions League's second top scorer prodded it well over the bar.

But the German international striker atoned for that miss in dramatic fashion as he scored with the last seconds ticking away.

Philipp Lahm was the creator as he beat Fabio Coentrao down the right before sending in a low teasing ball that Gomez this time made no mistake with from inside the six-yard box.

The result puts Bayern in the driving seat for the return leg in Madrid next week, though Real are far from out of it having secured themselves a vital away goal.

Bayern Munich 2-1 Real Madrid - All Goals by goalsarena2012-3