On a good night for English clubs in the Europa League, Manchester United hammered AZ Alkmaar 4-0, while Wolverhampton Wanderers also thrashed Besiktas 4-0 in Group K, and Arsenal came from two goals down to draw 2-2 away to Standard Liege and finish first in their pool.
A round up of the Europa League matches played on Thursday night.
Teenage striker Mason Greenwood scored twice as Manchester United hammered AZ Alkmaar 4-0 and Enzo Crivelli scored a last-gasp winner to put Istanbul Basaksehir through to the last 32 as the Europa League group stage concluded on Thursday.
On a good night for English clubs, Wolverhampton Wanderers also thrashed Besiktas 4-0 in Group K, while Arsenal came from two goals down to draw 2-2 away to Standard Liege and finish first in their pool ahead of Eintracht Frankfurt.
After a goalless first half Manchester United turned on the style, opening the scoring with a brilliantly-worked goal from Ashley Young before Greenwood netted either side of a Juan Mata penalty.
The win secured Group L victory for the Reds, and despite the defeat their Dutch opponents have also made it through after finishing second, one point ahead of Partizan Belgrade who beat FC Astana 4-1.
The upset of the night came in Group J as Crivelli scored a 90th-minute winner against Borussia Moenchengladbach to send Basaksehir through and knock the Germans out, with AS Roma grabbing the runner-up spot thanks to a 2-2 home draw with Wolfsberger.
Wolverhampton Wanderers finished second in Group K as Diogo Jota scored a hat-trick in a 4-0 win over Besiktas. They finished one point behind group leaders SC Braga, who beat Slovan Bratislava 4-2.
Earlier in the evening, a sluggish-looking Arsenal went behind after the break to two deflected strikes by Samuel Bastien and Selim Amallah before bursting into life when Alexandre Lacazette and Bukayo Saka scored to put them level.
Eintracht Frankfurt looked set to go through as group winners until they conceded two late goals to lose 3-2 to bottom side Vitoria Guimaraes, putting the Gunners through as group winners on 11 points, with the Germans second on nine.
Swedish side Malmo FF won their Scandinavian derby against FC Copenhagen, topping Group B ahead of their Danish rivals thanks to a 1-0 away win, while Dynamo Kiev slumped to a shock 1-0 defeat at home by bottom side Lugano to crash out.
Italian side Lazio were also eliminated after losing 2-0 away to bottom side Rennes, meaning that CFR Cluj of Romania, who beat Group E winners Celtic 2-0 at home, will join the Scots in the last 32.
Rangers had to be content with second in Group G after a late own goal by Borna Barisic gave Young Boys a 1-1 draw at Ibrox, while Porto topped the standings after a battle with Feyenoord that finished 3-2 to the Portuguese side.
LASK of Austria finished top of Group D thanks to a superb 2-0 home win over Sporting Lisbon, who had goalkeeper Renan Ribeiro sent off as he conceded a 35th-minute penalty, with the Portuguese side finishing second.
In Switzerland, FC Basel scored a goal in each half as they cruised to victory in Group C with a comfortable 2-0 win over Trabzonspor, and they will be joined in the next round by Getafe, who hammered ten-man Krasnodar 3-0 at home.
KAA Gent and VfL Wolfsburg go through after filling the top spots in Group I, while Sevilla and APOEL Nicosia had already secured progression as winners and runners-up in Group A.
All of the 12 group winners will be seeded in the last 32 draw, as well as the top four sides - Ajax Amsterdam, Salzburg, Inter Milan and Benfica - from the best eight that finished third in their Champions League groups.
Why City striker Jesus 'wanted to shoot myself'
#CAB: India footballers voice their opinions
PHOTOS: Liverpool, Chelsea, Dortmund move into last 16
Champions League PIX: Barca knock Inter; Ajax ejected
PICS: Ronaldo finds net in Juve win; City thump Dinamo