With one more matchday left, here's what the remaining teams need to do to seal progress to the knockout stages of the Champions League.
*Teams are ranked by points, then head-to-head matches among tied teams, then goal difference in head-to-head matches among tied teams.
GROUP A
Man United (12): One point against CSKA Moscow will be enough for top spot. Will win group if they avoid five-goal defeat. Can only be knocked out if they lose to CSKA by six goals and Basel win.
FC Basel (9): Basel are through if they beat CSKA's result, or if both teams draw or lose due to their superior head-to-head. If CSKA and Basel both win then Basel are through, unless CSKA win by a margin of between three and six goals inclusive.
CSKA Moscow (9): CSKA will have to better Basel's points haul to be guaranteed of a place in the knockout rounds. Need six goals vs. Man United to knock them out, or a margin of three goals to knock out Basel in the head-to-head.
Benfica (0): Out of everything.
GROUP B
PSG (15): Through. Need one point vs. Bayern to seal top spot but they could even finish top with a loss as long as the German club win by a margin smaller than 3-0, as that would still leave PSG ahead on head-to-head goal difference.
Bayern (12): Through. Will have to win by more than 3-0 at home to PSG to take top spot. They are miles behind on goal difference.
Celtic (3): Can seal a Europa League spot by taking a point against Anderlecht on the final matchday.
Anderlecht (0). Will have to win by more than 3-0 at Celtic to climb above them for a place in the Europa League.
GROUP C
Chelsea (10): Through. A win at home to Atletico seals top spot -- but a defeat or draw coupled with a win for Roma will see them finish second.
Roma (8): A win vs. Qarabag seals their place in the round of 16, but they must avoid drawing or losing if Atletico win.
Atletico Madrid (6): Must beat Chelsea at Stamford Bridge and hope Qarabag beat Roma. If they win and Roma draw, Atletico are through on head-to-head goal difference.
Qarabag (2): Out of everything.
GROUP D
Barcelona (11): Through. Already sealed top spot as they have a better head-to-head record than Juventus.
Juventus (8): A win over Olympiakos seals second. A draw or defeat is enough if Sporting lose. If Juve lose and Sporting draw then Juve go through on head-to-head goal difference.
Sporting Lisbon (7): Must beat Barcelona and hope Olympiakos beat or draw with Juventus. But they won't progress on head-to-head, so need to better Juve's final result too.
Olympiakos (1): Out of everything.
GROUP E
Liverpool (9): A win or draw against Spartak seals their place. They will be tied on head-to-head with Sevilla if they lose and Sevilla draw, but they'll top Sevilla on away goals scored if that happens.
Sevilla (8): A win over Maribor seals their place. A draw or defeat depends on what happens at Liverpool vs. Spartak. But they have a worse head-to-head goal difference than Spartak and would also fall behind Liverpool if they finished level.
Spartak Moscow (6): A win makes things interesting and would take them through on head-to-head over Liverpool. If all teams finish on nine points (i.e. if Spartak win and Sevilla draw), then Spartak finish top and Liverpool go through second.
Maribor (2): Out of everything.
GROUP F
Manchester City (15): Through. Already top.
Shakhtar Donetsk (9): Need a point to go through from their game against an under-strength City.
Napoli (6): Must beat Feyenoord and hope Shakhtar lose to City. They would go through on head-to-head goal difference over Shakhtar.
Feyenoord (0): Out of everything.
GROUP G
Besiktas (11): Through. Already top.
FC Porto (7): Through if they beat Monaco. Just need to better Leipzig's result as they win 5-4 on head-to-head goal difference.
RB Leipzig (7): Have to beat Besiktas and hope Monaco hold Porto to a draw or defeat.
AS Monaco (2): Out of everything.
GROUP H
Tottenham (13): Through. Already top.
Real Madrid (10): Through. Already second as they are worse than Spurs on head-to-head goal difference.
Borussia Dortmund (2): Must better or equal Apoel's result to seal a spot in the Europa League -- as their head-to-head goal difference is tied at 2-2 it would go to overall goal difference if they finish level. And Dortmund are -5 compared to -12.
Apoel Nicosia (2): Must better Dortmund's result to seal a Europa League spot.
Source: espn.co.uk