Robert Lewandowski restored a semblance of normality on a night of shocks in the Champions League.
The Bayern Munich striker took his tally to 10 goals in the last three games with a hat-trick as the Germans moved clear at the top of Group F thanks to a 5-0 win over Dinamo Zagreb.
In the same group Alfred Finnbogason scored the winner as Olympiakos beat Arsenal 3-2
Barcelona averted an upset with two late goals to some from behind and beat Beyer Leverkusen 2-1. Kyriakos Papadopoulos headed the Germans into a 21st-minute lead and Barca, without talisman Lionel Messi through injury, struggled to get back into the game.
Carnicer Sergi Roberto eventually equalised in the 81st minute and 90 seconds later Luis Suarez secured three points for the off-colour Catalan giants.
The major shocks of the night came as Italians Roma were stunned 3-2 by Belarussian outsiders BATE Borisov.
The hosts raced into a 3-0 lead with just half an hour gone thanks to an early goal from Ihar Stasevich and Filip Mladenovic's double.
Gervinho and Vassilis Torosidis pulled goals back in the second half but BATE held on for a famous win.
Yacine Brahimi struck first for Porto in their 2-1 win over Chelsea. Willian replied, but Maicon headed the winner early in the second half.
In Chelsea's group, goals from Andriy Yarmolenko and Aluisio Junior Moraes gave Dynamo Kiev a 2-0 victory over Maccabi Tel-Aviv.
In Group H, Valencia won 1-0 in Lyon, with Sofiane Feghouli scoring the goal and Zenit St Petersburg beat Belgian side KAA Gent 2-1.
Oleg Shatov scored the second-half winner after Artem Dzyuba's opener had been cancelled out by Thomas Matton.