Here’s a look at which teams have progressed, and who they could face.
From Group A, Arsenal with PSG runners up; Group B, Napoli with Benfica taking the second spot; Group C, sees Barcelona go through on top honours with Manchester City to follow; Group D, Atletico Madrid took the top spot Bayern Munich is through as runners up; Group E, has Monaco through first with Bayer Leverkusen in second; Group F, Borussia Dortmund and Real Madrid; Group G, Leicester Cityis through ahead of Porto; and in Group H, Juventus and Sevilla.
The winner of each group will be drawn against a runner-up, but teams cannot face a side from their own nation in the last 16, or a club they met in the group stage.
Group winners will play the first leg away and the second leg at home.
Arsenal will be paired with one of: Bayer Leverkusen, Bayern Munich, Benfica, Real Madrid, Porto, Sevilla.
Manchester City’s opponents will be one of: Atletico Madrid, Borussia Dortmund, Juventus, Monaco, Napoli.
Leicester City will face one of: Bayer Leverkusen, Bayern Munich, Benfica, Paris St-Germain, Real Madrid, Sevilla.
Tottenham were the one English casualty, finishing third to secure a place in the Europa League.
Celtic, in the same group as Barcelona and Man City, finished bottom without a win and are out of European football for this season.
Besiktas and Dynamo Kiev may have been disappointed not to make it through a group that saw Napoli and Benfica progress.
And spare a thought for Club Brugge and Dinamo Zagreb, who finished on zero points, with the latter not managing a single goal.
Tottenham finished as one of the four best third-placed teams in the Champions League groups, meaning they will be seeded for the last 32 of the Europa League when the draw is made on Monday.
The full line-up for the draw will be determined by Thursday’s final Europa League group games – but Spurs will face an unseeded side and cannot be matched with a team from England, should Manchester United and Southampton progress.
These 21 teams are confirmed for the knockout stage: Ajax (Ned), Roma (Ita), Anderlecht (Bel), APOEL (Cyp), Schalke (Ger), Shakhtar Donetsk (Ukr), Athletic Bilbao (Spa), Genk (Bel), Sparta Prague (Cze), Zenit St Petersburg (Rus), Krasnodar (Rus), Olympiakos (Gre), Tottenham (Eng), Lyon (Fra), St Etienne (Fra), Borussia Monchengladbach (Ger), FC Copenhagen (Den), Besiktas (Tur), Ludogorets Razgrad (Bul), FC Rostov (Rus), Legia Warsaw (Pol).