Arsenal finished in first place in Champions League Group A after beating Basel 4-1, while Paris Saint-Germain settled for a surprise home draw to close out the group stage on Tuesday.
Lucas Perez recorded a hat trick inside 47 minutes before Alex Owobi added a fourth to help the Gunners on their way to a dominant victory.
Arsenal needed just eight minutes to open the scoring at St Jakob-Park, with Kieran Gibbs squaring the ball to Perez after being played in by Alexis Sanchez and the Spaniard then converting from close range at the far post.
By the 16th minute the Gunners were two goals up after Perez added his second of the night, tapping home the rebound from just a few yards out after Gibbs' strike was saved by Tomas Vaclik.
It was 3-0 two minutes after the restart, with Perez firing past Vaclik into the bottom corner to complete his hat trick after Gibbs' pass was diverted into his path by Sanchez.
And it was four for Arsenal just seven minutes later when Iwobi slotted home from close range after Mesut Ozil had pulled the ball back across goal to him, before Basel found a consolation goal through Seydou Doumbia.
PSG entered the final matchday level with Arsenal on 11 points, but the French side's head-to-head advantage would not come into play as they could only manage a 2-2 draw at home with Ludogorets Razgrad.
Virgil Misidjan headed home from Natanael Pimienta's curling cross in the 15th minute as the Bulgarian side secured a spot in the Europa League as third-place finishers.
Edinson Cavani found the equaliser after the hour mark, converting a bicycle kick from close range after a missed defensive clearance.
But just as a winner for PSG seemed inevitable, Ludogorets took the lead for a second time on 69 minutes as Cafu dispossessed Marquinhos and pulled a pass back for Wanderson to score.
Ludogorets were denied a famous victory as Angel Di Maria scored in stoppage time, but PSG could not find a winner in the final moments and finished second in the group.
Arda Turan scored a hat trick in Barcelona's Group C finale, a comprehensive 4-0 win against Borussia Monchengladbach.
With the top spot in the group already wrapped up, Luis Enrique elected to rest Neymar and begin with Luis Suarez on the bench, while Lionel Messi started and opened the scoring for the hosts in the 16th minute, finishing from the centre of the penalty area from a Turan assist.
Turan came out firing in the second half, scoring goals in the 50th and 53rd minutes to effectively seal the win before adding his third in the 67th minute.
The Turkey international joined an impressive list of Barca players to score Champions League hat tricks including Messi, Neymar, Samuel Eto'o, Ronaldinho and Rivaldo.
A young Manchester City side, already assured of second place in Group C, could only manage a 1-1 draw at home against Celtic.
Celtic got off to a bright start when loanee Patrick Roberts ran into the box and scored against his parent club in the fourth minute.
But the Scottish club's lead lasted less than four minutes as Kelechi Iheanacho ran onto a Nolito through ball and took one touch before blasting his shot past Craig Gordon.
Nolito thought he had put City ahead in the 67th minute, but his goal was rightly ruled out for offside.
In Group D, Bayern Munich ended Atletico Madrid's bid to be the seventh team to win all six group games as the German side prevailed 1-0 at home.
Robert Lewandowski's 28th-minute free kick over the Atletico wall was the only goal, though Bayern still finished second behind their opponents.
Russian club FC Rostov secured their place in the Europa League following a goalless draw at PSV Eindhoven.
Bart Ramselaar had a shot hacked off the line late as PSV's evening ended in frustration with last season's Eredivisie champions bottom of the table.
Group B had been set up for an exciting finish but there was little drama after Besiktas had two men sent off and lost 6-0 to Dynamo Kiev.
Dynamo, with nothing to play for, took a ninth-minute lead as Andriy Yarmolenko carried the ball along the baseline and crossed to Artem Besedin to turn in with his knee.
The game changed on 29 minutes when Andreas Beck was controversially sent off for a challenge as Derlis Gonzalez entered the box, though they appeared shoulder-to-shoulder.
But Yarmolenko converted the resulting penalty and two minutes later Vitaliy Buyalskiy took advantage of Dusko Tosic's defensive miscue to loop in a third goal into an open net from long range.
Gonzalez's deflected shot in first-half stoppage time made it 4-0, and it only got worse after the break as Vincent Aboubakar picked up his second yellow, before Serhiy Sydorchuk and Junior Moraes added to the scoreline.
A win would have put Besiktas through, but the result saw them finish third behind Napoli and Benfica, with the Italian side topping the group after a 2-1 win.
Napoli had the better of chances before the other game's progress lifted the pressure, and got their reward on the hour mark, Jose Maria Callejon staying onside to receive Dries Mertens' pass before chipping the keeper.
The players reversed roles 20 minutes later as Callejon provided the pass for Mertens to double the advantage, though Benfica's Raul Jimenez was able to find a late goal.