Paris - Teenager Mason Greenwood scored as Manchester United cruised into the Europa League last 32 with a 3-0 win over Partizan Belgrade at Old Trafford on Thursday, while Celtic stunned Lazio with a last-gasp goal in Rome to progress.
Ole Gunnar Solskjaer's United knew that a third victory in four Group L games would be enough to send them through.
The 18-year-old Greenwood broke the deadlock in the 22nd minute with a cool finish to score his third goal of the season and second in this competition.
Anthony Martial doubled the advantage after the half-hour mark with a brilliant individual goal, before Marcus Rashford lashed home the third four minutes after the interval.
The comfortable victory saw United bounce back after a 1-0 loss at Bournemouth last weekend had ended a three-game winning run.
"I think it was a good performance but there are things we can improve on," Rashford told BT Sport. "We managed to score three goals but it could have been a lot more."
AZ Alkmaar thrashed Astana 5-0 in Kazakhstan to keep control of the race for second place in Group L behind United, eliminating their hosts and moving four points clear of Partizan.
Olivier Ntcham scored a dramatic injury-time winner to grab Celtic a 2-1 victory at Lazio.
Neil Lennon's outfit remain top of Group E with two games remaining, seven points clear of third-placed Lazio after their second straight win over the Romans.
"It's great to have qualified with two games to spare," Celtic manager Lennon told uefa.com.
"It's too early to say how far we can go in this competition but we can be a difficult opponent for anyone."
Ciro Immobile volleyed the hosts into a seventh-minute lead, but James Forrest drew Celtic level before half-time.
But substitute Ntcham latched onto Odsonne Edouard's pass in the fifth minute of added time and dinked a cool finish over Lazio goalkeeper Thomas Strakosha.
The other game in the group saw CFR Cluj move to within a point of qualification by beating Rennes 1-0 in Romania.
Celtic's Old Firm rivals Rangers gave their hopes of reaching the knockout stage for the first time since 2011 a massive boost with a 2-0 victory over Porto at Ibrox.
Second-half goals from Alfredo Morelos and Steven Davis fired Steven Gerrard's men second in Group G, three points ahead of Feyenoord after the Dutch side's 1-1 draw with Young Boys.
"He has been outstanding for us all season and he has turned up again tonight and got a very important goal for us to set us on our way," Davis said of Morelos, after the Colombian's 11th Europa League goal this term.
Bundesliga leaders Borussia Moenchengladbach grabbed their first win of the Europa League campaign as Marcus Thuram's 95th-minute strike sealed a 2-1 triumph against Roma.
The German club moved second in Group J, ahead of Roma on head-to-head and two points behind leaders Istanbul Basaksehir, who saw off 10-man Wolfsberger 3-0 in Austria.
Wolves made it three straight Europa League wins despite Ruben Neves missing a penalty as Raul Jimenez's 92nd-minute goal grabbed a 1-0 success over Slovan Bratislava at Molineux.
Nuno Espirito Santo's men now sit five points clear of Slovan in second in Group K, with Braga a point ahead of the Premier League side at the top after beating Besiktas 3-1.
"We all felt maybe it was going to be one of those nights," said Wolves skipper Conor Coady. "This win was important. We did our jobs well."
El Haddadi treble
Former Barcelona winger Munir El Haddadi starred with a hat-trick as Sevilla thrashed Dudelange 5-2 to also reach the knockout rounds.
Record five-time winners Sevilla knew victory in Luxembourg would send them through from Group A and their one-sided win also sealed top spot.
PSV Eindhoven, the 1978 winners, suffered a humbling 4-1 defeat by Austrian team LASK Linz to slip to third in Group D behind their opponents and Sporting Lisbon, who won 2-0 at Rosenborg.
Elsewhere, Espanyol moved to the brink of qualification by hammering nine-man Ludogorets 6-0, while Gent moved top of Group I with a 3-1 win at Wolfsburg.
UEFA Europa League results on Thursday:
APOEL (CYP) 2 (Souza 59, N. Ioannou 88) Qarabag (AZE) 1 (Medvedev 10)
Dudelange (LUX) 2 (Sinani 69, 80) Sevilla (ESP) 5 (Dabbur 17, 36, Munir 27, 33, 67)
FC Copenhagen (DEN) 1 (Stage 4) Dynamo Kiev (UKR) 1 (Verbic 70)
Lugano (SUI) 0 Malmo (SWE) 0
Basel (SUI) 2 (Cabral 8, F. Frei 60) Getafe (ESP) 1 (Mata 45-pen)
Krasnodar (RUS) 3 (Serkan Asan 27-og, Manuel Fernandes 34, Ignatyev 90+3) Trabzonspor (TUR) 1 (Nwakaeme 90+4)
LASK (AUT) 4 (Ranftl 56, Frieser 60, Klauss 78, 82) PSV Eindhoven (NED) 1 (Schwaab 5-pen)
Rosenborg (NOR) 0 Sporting Lisbon (POR) 2 (Coates 16, Bruno Fernandes 38)
CFR Cluj (ROM) 1 (Rondon 87) Rennes (FRA) 0
Lazio (ITA) 1 (Immobile 7) Celtic (SCO) 2 (Forrest 38, Ntcham 90+5)
Standard Liege (BEL) 2 (Vanheusden 56, Lestienne 90+4) Eintracht Frankfurt (GER) 1 (Kostic 65)
Rangers (SCO) 2 (Morelos 69, S. Davis 73) Porto (POR) 0
Feyenoord (NED) 1 (Berghuis 18-pen) Young Boys (SUI) 1 (Spielmann 71)
Espanyol (ESP) 6 (Melendo 4, Lopez 19, Vargas 36-pen, Campuzano 52, Pedrosa 73, Ferreyra 76) Ludogorets (BUL) 0
Ferencvaros (HUN) 0 CSKA Moscow (RUS) 0
Wolfsburg (GER) 1 (Victor 20) Gent (BEL) 3 (Yaremchuk 50, Depoitre 65, Ngadeu-Ngadjui 76)
Olexandriya (UKR) 2 (Bezborodko 84, Zaderaka 90+1) Saint-Etienne (FRA) 2 (Khazri 24-pen, Camara 72)
Borussia Moenchengladbach (GER) 2 (Fazio 35-og, Thuram 90+5) Roma (ITA) 1 (Fazio 64)
Wolfsberg (AUT) 0 Istanbul Basaksehir (TUR) 3 (Visca 73-pen, Crivelli 84, 87)
Wolves (ENG) 1 (Jimenez 90+2) Slovan Bratislava (SVK) 0
Braga (POR) 3 (Paulinho 15, 37 Wilson Eduardo 81) Besiktas (TUR) 1 (Boyd 29)
Astana (KAZ) 0 AZ Alkmaar (NED) 5 (Boadu 29, 77, Midtsjo 52, Idrissi 57, Hatzidiakos 76)
Manchester United (ENG) 3 (Greenwood 22, Martial 33, Rashford 49) Partizan Belgrade (SRB) 0
Vitoria Guimaraes (POR) 1 (Duarte 90+1) Arsenal (ENG) 1 (Mustafi 81)