Arsenal 1-2 Eintracht Frankfurt
Arsenal missed the chance to qualify for the Europa League last 32 with a game to spare after suffering a 2-1 loss to Eintracht Frankfurt.
The Gunners broke the deadlock on the stroke of halftime through Pierre-Emerick Aubameyang's strike.
The Bundesliga pulled level on 55 minutes through Daichi Kamada's stunning strike, before the Japanese midfielder bagged his brace to complete the turnarond.
The win sees Frankfurt move up to second spot, one point behind Arsenal who travel to Standard Liege in their final group game.
Celtic 3-0 Rennes
Cetic clinched top spot in Group E with a 3-0 thrashing of Rennes at Celtic Park.
The hosts raced into a two-goal lead thanks to strikes from Lewis Morgan and Ryan Christie.
Michael Johnston bagged the Scottish champions' third goal in the 74th minute, before Adrien Hunou bagged a consolation late on.
Lazio 1-0 CFR Cluj
Lazio kept their knockout stages alive with a 1-0 victory over CFR Cluj in Group E at the Stadio Olimpico.
Joaquin Correa netted the only goal of the game to secure a vital victory for the Serie A outfit, who remain in third spot but they sit three points behind second-place Cluj.
Lazio travel to Rennes in their final group game, while Cluj hosts group winners Celtic.
Sevilla 2-0 Qarabag
Group A leaders Sevilla continued their dominance with a 2-0 victory over Qarabag at Ramón Sánchez Pizjuán.
Bryan Gil opened the scoring on 61 minutes before Munas Dabbur sealed the win in second-half stoppage time.
Sporting Lisbon 4-0 PSV Eindhoven
Sporting Lisbon secured passage to the round of 32 after thrashing PSV Eindhoven on Thursday night.
Luiz Phellype, Bruno Fernandes and Jeremy Mathieu put the hosts three goals up before the halftime break, before Fernandes bagged his brace from the penalty spot.
AZ 2-2 Partizan
Vitoria Guimaraes 1-1 Standard Liege
Dudelange 0-2 APOEL
Malmo 4-3 Dynamo Kiev
Lugano 0-1 Copenhagen
Rosenborg 1-2 LASK