With one round of Champions League matches remaining, Chelsea, Manchester City and Manchester United are among the eight teams to have booked their place in the last 16.
Real Madrid, Paris St-Germain, Barcelona, Bayern Munich and Atletico Madrid are also through.
Arsenal – despite winning four of their five games in Group F – are among the teams hoping to secure one of the final eight spots.
So who is through, who is out and who can still make it?
Manchester United sealed their place in the last 16 with a thumping 5-0 win at Bayer Leverkusen but David Moyes’s side have not yet won the group. A win or draw at home to Shakhtar Donetsk next month would secure top spot, while either the Ukrainians or Leverkusen will join United in the last 16.
Leverkusen must win in Spain against Real Sociedad and hope that Shakhtar do not beat United at Old Trafford, while a Donetsk win would see them top the group.
One of Leverkusen or Shakhtar will also finish third and go into the Europa League.
Real Madrid have topped the group and cannot be caught. It is all to play for below them, with Juventus moving from fourth to second with a key home win against Copenhagen. A win or draw for the Old Lady at Galatasaray next month would secure second place.
But a win for Galatasaray would also see them through as they have a better head-to-head record over Copenhagen, who can no longer qualify ahead of Juventus.
The Danish side can finish third if they get a point or better at Real Madrid and Juventus beat Galatasaray.
Paris St-Germain have wrapped up the group and are unbeaten. Olympiakos will reach the last 16 if they beat Anderlecht at home, but if they fail to win then Benfica can snatch second spot if they beat PSG. Anderlecht will finish bottom.
Bayern Munich set a Champions League record in Moscow last time out with a 10th straight win – but they have not yet secured top spot. Manchester City can still win the group, if they can beat Bayern by a bigger margin than the 3-1 win the German side recorded at Etihad Stadium in October. Viktoria Plzen can take third place and a spot in the Europa League if they beat CSKA Moscow by a two-goal margin.
Chelsea are already assured their place in the last 16, but they must beat Steaua Bucharest in their last game to be sure of finishing group winners.
Basel will join the Blues in the knockout stages as long as they avoid defeat away to Schalke in the final round of matches.
Despite winning four out of their five games in the group so far, Arsenal are still just short of securing their place in the next stage. The Gunners will progress so long as they avoid a heavy defeat against Napoli in their final game. If Borussia Dortmund fail to beat Marseille even that will be unnecessary.
Napoli, currently level with Borussia Dortmund, need to finish on a greater points total than the German side to finish above them as they trail 4-3 in a hypothetical aggregate score from their two group meetings.
Atletico Madrid have already won Group G after victories in their first four games. Zenit St Petersburg lead Porto in their head-to-head meetings, so the Portuguese side’s hopes of progressing depend on them beating Atletico Madrid in their final game and Zenit failing to do the same against Austria Vienna.
Barcelona had already booked their place in the last 16 before the penultimate round of games. The Catalan giants will be toppled as Group H leaders if they lose to Celtic in December and AC Milan beat Ajax.
Ajax must win at the San Siro to book their place in the next stage.