Bayern Munich will take a deserved 1-0 lead into the second leg of their Champions League semi-final against Lyon thanks to Arjen Robben's 69th-minute strike at the Allianz Arena.
Bayern enjoyed the better of a game, which both sides ended with just 10 men, but they were only rewarded with a slender advantage to take with them to the Stade Gerland next Tuesday. Franck Ribery was shown a straight red card for the hosts in the 37th minute before Jeremy Toulalan quickly collected two yellows early in the second half.
But it was Robben who stole the headlines, following up the deciding goal in the quarter-final against Manchester United with a deflected shot to put Bayern marginally ahead in a finely poised tie.
After 10 minutes of getting to know each other, Bayern launched the first wave of attacks with Daniel van Buyten getting on the end of an Ivica Olic cross in the 12th minute, but sending his volley high and wide.
Ribery's corner in the 13th minute was punched over the crossbar by Hugo Lloris, who came to try and meet the subsequent corner only to fall short. Fortunately for him, Bastian Schweinsteiger sent his free-header wide from close range.
A neat pass through the legs of Anthony Reveillere from Diego Contento sent Ribery through in the 18th minute and he skipped past Cris before shooting wide of the near post from 20 yards. Olic then missed an even better chance as Bayern increased the pressure and pegged Lyon back inside their own half.
It took Lyon half an hour to muster their first shot on goal with Ederson's shot from just outside the area deflected behind and heralding the first period of pressure from the French team.
It has been a difficult week for Franck Ribery, who has taken all the wrong headlines for his conduct off the field, and things got worse for him in the 37th minute when he was sent off by Italian referee Robert Rosetti for lunging in on Lisandro, almost out of frustration at not being given a free-kick moments early.
Parity in personnel was restored in the 54th minute when Toulalan picked up his second yellow card in three minutes to join compatriot Ribery in the dressing rooms.
Mario Gomez should have done better with Robben's cross in the 68th minute, but his error was forgotten less than 60 seconds later when Robben's 25-yard effort deviated off the head of Muller into the bottom corner of Lloris' goal.