Olympiakos dumped AC Milan out of the Europa League on Thursday after beating the seven-time European champions 3-1 in a pulsating clash in Greece, while Eintracht Frankfurt fans ran riot during the German side's win at Lazio and Celtic made the knockout stages despite losing to Salzburg at Celtic Park.
Captain Kostas Fortounis' penalty nine minutes from time saw the Greeks move into second place in Group F ahead of Gennaro Gattuso's Milan, who thought they had squeaked through when Cristian Zapata had pulled a goal back less than two minutes after putting the hosts 2-0 up with a comical own goal.
Olympiakos finished level on 10 points with Milan but qualified ahead of the Italians thanks to their superior goal difference following Milan's 3-1 win over the Greeks in October, and they end the group stage two points behind group winners Real Betis, who drew 0-0 at Dudelange.
Celtic looked to be following Old Firm rivals Rangers out of the competition after Steven Gerrard's side fell 1-0 at Rapid Vienna earlier on Thursday, but Tore Reginiussen's equalizer four minutes from time for Rosenborg at RB Leipzig allowed Brendan Rodgers's side to qualify second from Group B, two points ahead of the Bundesliga outfit.
Alexandre Lacazette scores the goal for Arsenal to win over Qarabag, December 13, 2018. /VCG Photo
Chelsea, who had already won Group L, looked to be on their way to a perfect sixth win from six, but could only scrape a point at eliminated Vidi thanks to substitute Olivier Giroud's late free-kick, after an Ethan Ampadu own goal and Loic Nego's sumptuous volley had put the hosts a goal ahead.
BATE Borisov qualified alongside Chelsea after winning 3-1 at rock-bottom PAOK.
Alexandre Lacazette confirmed Arsenal's dominance of Group E with the only goal of a low-key 1-0 win over bottom side Qarabag, while second-placed Sporting Lisbon cruised past Vorskla Poltava 3-0.
Malmo are in the knockout stages after snatching a 1-0 win at Besiktas that saw the Swedes leapfrog their Turkish hosts in the extremely tight Group I.
Sevilla took the top spot in Group J from Krasnodar thanks to a 3-0 win, while Rennes pipped Astana to the knockout rounds with a 2-0 victory.
Bayer Leverkusen ensured first place in Group A with a 5-1 hammering of Larnaca, while Zurich drew 1-1 at Ludogorets.