Rubin Kazan pulled off one of the greatest shocks in Champions League history by beating champions Barcelona 2-1 at a stunned Nou Camp.
Aleksandr Ryazantsev's blockbuster put the Russian side ahead within two minutes before Zlatan Ibrahimovic levelled with a precise finish just after the break. But Karadeniz Gökdeniz fired Rubin back in front after good work from Alejandro Dominguez.
Barca pressed for an equaliser and though Ibrahimovic hit the post right at the death Rubin held on for a famous victory.
The other match in Group F saw Inter Milan held to a 2-2 draw by Dynamo Kiev as their winless run in the Champions League stretched to eight games.
Taras Mikhalik gave Kiev the lead on five minutes but Dejan Stankovic drew Jose Mourinho's side level half an hour later. A Lucio own goal gave Dynamo the lead again but Walter Samuel ensured Inter a point.
In Group E Liverpool lost 2-1 to Lyon in injury-time to put their Champions League future in grave doubt. Rafa Benitez's side have now lost four games in succession for the first time since 1987.
Liverpool led at the break after Yossi Benayoun stabbed home at the far post, but Lyon slowly edged their way towards victory with goals from substitutes Maxime Gonalons and Cesar Delgado.
Fiorentina edged a seven-goal thriller against Debrecen thanks to a superb Adrian Mutu performance. Peter Czvitkovics put the Hungarians ahead inside two minutes but Mutu scored two and set another up for Alberto Gilardino as La Viola netted three times in 14 minutes.
Gergely Rudolf made it 3-2 on 28 minutes before Mario Santana put Viola 4-2 up nine minutes later. Adamo Coulibaly's late goal gave Debrecen hope but Fiorentina held on.
Arsenal were hit by a stoppage-time equaliser as AZ Alkmaar earned a draw in their Group H clash.
Cesc Fabregas' put Arsenal in front after neat interplay between Andrey Arshavin and Robin van Persie, but Mendes Da Silva smashed home from a free-kick knockdown to rescue a point for Ronald Koeman's side.
A late winner from Ieroklis Stoltidis gave Olympiakos a 2-1 win over Standard Liege in the group's other game. Konstantinos Mitroglou had given the Greek side the lead before Igor De Camargo pulled Liege level.
In Group G Rangers were humiliated by Urinea Urziceni who inflicted a second 4-1 Champions League defeat in succession at Ibrox.
Rangers took the lead after just two minutes when Ricardo Gomes Vilana deflected Pedro Mendes' shot into his own net but Marius Bilasco equalised. Steven Davis then had a penalty saved before Kyle Lafferty and Lee McCulloch put through their own net. Pablo Brandán added a fourth for Dan Petrescu's side.
Sevilla essentially secured qualification for the next stage with a comfortable 3-1 win at Stuttgart. The Spanish side, who are just one win away from advancing, went three up courtesy of two goals from Sebastien Squillaci and one from Jesus Navas. Elson grabbed a consolation for Stuttgart.