Henrikh Mkhitaryan scored his first goal for Manchester United to secure their spot in the Europa League knockout stage with a 2-0 win at Zorya Luhansk on Thursday.
A draw would have been enough to see United through on a frozen pitch in Ukraine, but often out-of-favour Mkhitaryan's goal three minutes after half-time put them ahead before Zlatan Ibrahimovic's late second.
Marcos Rojo won the ball back in midfield and Mkhitaryan ran at the heart of the Zorya defence, weaving his way into the penalty area before firing home the coolest of low finishes.
And United's victory was confirmed when a fine pass from Paul Pogba put Ibrahimovic through and he slid the ball home to remove any doubt.
However, United could face a more difficult draw in the round of 32 after only finishing second in Group A behind Fenerbahce, who won 1-0 at Feyenoord.
Moussa Sow's bicycle kick from five yards out after an ill-advised defensive header ensured the Turkish club finished on 13 points, one ahead of Jose Mourinho's side.
Southampton crashed out of Group K after drawing 1-1 at home against Hapoel Be'er Sheva.
The Saints appeared to be on their way to the goalless draw they needed to advance before Oriol Romeu gave the ball away after 78 minutes and Maor Bar Buzaglo's low shot from 20 yards stunned the St Mary's crowd.
That meant the Premier League club needed to win to advance, and after Virgil van Dijk's stoppage-time equaliser had offered a lifeline, Maya Yoshida's header went just wide of the post in the final added minute.
Though they finished level on level eight points, Hapoel went through thanks to a slim head-to-head advantage over Southampton, with their scoring draw providing an away goals advantage after a goalless stalemate in the reverse fixture.
Inter Milan's miserable Europa League campaign ended with a 2-1 win at home against Group K winners Sparta Prague.
Eder bundled the ball over the line for Inter on 23 minutes after good work from 17-year-old debutant Andrea Pinamonti to control the ball in the box.
But Lukas Marecek equalised with a header for Sparta, who were denied a second when Inter keeper Juan Pablo Carrizo saved Borek Docka's penalty.
However, Eder found his second in the 90th minute to give the Italian giants a consolation despite finishing last.
A late chip by Manu Trigueros helped Villarreal advance from Group L with a 2-1 victory over Steaua Bucuresti.
Nicola Sansone put the Spanish club ahead in the 16th minute when he smashed home the rebound after his first shot was saved.
Vlad Achim headed a 55th-minute equaliser, but after the visitors had Gabriel Tamas sent off with 11 minutes to play, Trigueros chipped home off the underside of the bar for the winner.
A 1-1 draw would have been enough to see Villarreal through as runners-up from Group L, though Osmanlispor finished top after beating FC Zurich 2-0, late goals from Dzon Delarge and Erdal Kilicarslan enough to ensure the Turkish club won the group.
Fiorentina advanced as Group J winners after securing a 2-1 win at Qarabag.
Matias Vecino put the Serie A club ahead with a deflected shot on the hour, only for the hosts to equalise through Reynaldo.
Federico Chiesa scored his first goal for Fiorentina three minutes later to put them through, though the son of former Italy striker Enrico Chiesa was later sent off.
PAOK also advanced from Group L after goals in each half from Garry Rodrigues and Dimitrios Pelkas secured a 2-0 win and eliminated Slovan Liberec.
Shakhtar Donetsk completed a perfect campaign in Group H after winning 4-2 at Braga.
Sergey Krivtsov and Taison put the visitors 2-0 up in the first half before Nikola Stojiljkovic got one back, but Shakhtar's scorers each completed a brace after the break to seal the win.
Braga were also in line to advance until Kalifa Coulibaly's last-gasp winner for Gent gave them a 1-0 victory at bottom side Konyaspor to put them through as runners-up instead.
Coulibaly brought the ball down on his chest, spun and volleyed the ball home for the 94th-minute winner.
In Group E, Austria Vienna were eliminated after losing 3-2 at Viktoria Plzen despite once having a two-goal lead against 10 men.
The Austrian club had one foot in the knockout stage when the hosts' Lukas Hejda was sent off in the 18th minute for conceding a penalty converted by Raphael Holzhauser, who later provided an assist to Lukas Rotpuller.
But Tomas Horava started the rally with a goal just before the break, before a brace from Michal Duris completed the turn-around and pushed Austria Vienna from second place to fourth.
Their implosion allowed Astra Giurgiu to advance in their place after securing a goalless draw against group winners Roma.
Celta Vigo stayed in the competition as runners-up from Group G after a 2-0 win at Panathinaikos.
John Guidetti needed only four minutes to head home the opener, and Fabian Orellana's second-half penalty sealed the three points.
The result left Celta two points ahead of Standard Liege, who could only manage a 1-1 draw at home against group winners Ajax.
Anwar El-Ghazi's rocket of a shot had put Ajax ahead, and though Benito Raman equalised with six minutes to play it was not enough for Standard to avoid elimination.
AZ Alkmaar moved on as runners-up from Group D after a 3-2 home win over Zenit St. Petersburg, who had already been confirmed as group winners.
Ben Rienstra seventh-minute opener from distance put the Dutch side ahead before Ridgeciano Haps added a second before the break, and though Giuliano got a goal back for Zenit in the second half, Muamer Tankovic scored to seal the result.
The result rendered the other Group D game meaningless as Maccabi Tel Aviv were eliminated alongside Dundalk despite the Israeli side's 2-1 win.
Tal Ben Haim's penalty put Maccabi ahead but Dundalk equalised quickly through an Eliazer Dasa own goal, before Dor Micha put the hosts ahead for good.
Saint-Etienne topped Group C with a thrilling 3-2 defeat of previous leaders Anderlecht in Belgium.
The hosts raced out to a 2-0 lead within the opening 31 minutes to send the hosts into the break with a comfortable advantage.
However, a five-minute Alexander Soderlund brace and a 74th-minute winner from Kevin Monnet-Paquet dashed the home side's hopes of winning the group.
Mainz toppled last-placed Qabala 2-0 in the other group C game. First-half goals from Alexander Hack and Pablo de Blasis held up to end the Germans' group campaign on a high.
APOEL topped Group B with a 2-0 defeat of Olympiakos, with both sides already assured of moving on.
A Manuel da Costa own goal in the 20th minute was enough to see the Cyprus side hold their place atop the group ahead of the knockout round before Igor de Camargo added a second seven minutes from time.
Young Boys thrashed Astana 3-0 in the group's other game, second-half goals from Michael Frey, Guillaume Hoarau and Thorsten Schick ensuring a third-place finish for the Swiss side.
Nice finished bottom of Group I but concluded with a 2-1 win over Krasnodar.
Fedor Smolov put the Russian side ahead with a shot through a defender's legs early in the second half, but Andreas Granqvist was soon sent off after conceding a penalty.
Alexy Bosetti scored from the spot and Maxime Le Marchand delivered the winner from a corner.
Krasnodar were already assured of advancing alongside group winners Schalke, who lost 2-0 at Salzburg after Xavier Schlager's deflected shot and Josip Radosevic's late second.
In Group F, Sassuolo's final match against Genk was postponed until Friday afternoon because of heavy fog, though the Italian club have already been eliminated and the visitors are assured of going through.
However, Genk could still win the group with a win or a draw as they trail leaders Athletic Bilbao by a single point after the Spanish club settled for a 1-1 draw at Rapid Vienna, Enric Saborit's goal for the visitors six minutes from time cancelling out Joelinton's 72nd-minute opener.