Holders Manchester United advanced to the knockout phase as all eight qualifiers from the first four Champions League groups were decided with a round to spare on Tuesday.
United progressed with a goalless draw at Villarreal, the fourth in a row between the two clubs, which was also enough to send the Spaniards through from Group E.
Tuesday night's results
Arsenal 1 - 0 Dynamo Kiev
Villarreal CF 0 - 0 Man Utd
AaB 2 - 1 Celtic
BATE 0 - 1 Real Madrid
Bayern 3 - 0 S Bucharest
Fenerbahçe 1 - 2 FC Porto
Fiorentina 1 - 2 Lyon
Zenit 0 - 0 Juventus
Group F was also decided as Bayern Munich beat Steaua Bucharest 3-0 with two goals from Miroslav Klose and Olympique Lyon edged to a 2-1 win at Fiorentina to go through.
A seventh-minute goal by Raul was enough to give Real Madrid a 1-0 win at Bate Borisov to send the nine-time champions through from Group H alongside Juventus, who had already qualified and who drew 0-0 at Zenit St Petersburg.
Arsenal left it late at the Emirates as an 87th-minute goal by Nicklas Bendtner secured the 1-0 win over Dynamo Kiev that sent the Londoners through from Group G along with Porto after they won 2-1 at Fenerbahce with two goals from Lisandro.
Barcelona and Sporting had already qualified, leaving six slots up for grabs from the remaining groups.