Follow all the Champions League action from 21:00 CET here.
23:08 CET: Here is confirmation of all of the teams and where they have finished.
Top eight: Liverpool, Barcelona, Arsenal, Inter Milan, Atletico Madrid, Leverkusen, Lille, Aston Villa
Play-offs: Atalanta, Dortmund, Real Madrid, Bayern, AC Milan, PSV, PSG, Benfica, Monaco, Brest, Feyenoord, Juventus, Celtic, Man City, Sporting, Club Brugge
Eliminated: Dinamo Zagreb, Stuttgart, Shakhtar, Bologna, Red Star, Sturm Graz, Sparta Prague, RB Leipzig, Girona, Salzburg, Slovan Bratislava, Young Boys
23:05 CET - It's all over across Europe - here is the lay of the land as the dust settles.
Liverpool, Barcelona, Arsenal, Inter, Atletico Madrid, Bayer Leverkusen, Lille and Aston Villa have all finished in the top eight, meaning they will skip the play-off round and head straight into the last 16.
Speaking of the play-off round, it was heartache for Dinamo Zagreb, who missed out despite beating AC Milan 2-1 and the same has to be said for Stuttgart, humbled at home 4-1 by PSG to be knocked out of the competition.
Find out who has the made the play-offs right now.
23:00 CET - Liverpool have topped the group despite a 3-2 loss to PSV in the Netherlands in a game where they finished with 10 men.

22:55 CET - Arsenal may have missed a late penalty but they are comfortably through to the last 16 with a 2-1 victory over Girona, as are Aston Villa with a thrilling 4-2 victory over Celtic. That is because Atalanta couldn't find a late winner against Barcelona to finish the game 2-2, meaning the Catalans also miss out on top spot.

22:52 CET - Final scores now coming in from across Europe, Bayern Munich have run out 3-1 winners against Slovan Bratislava, whilst there were wins for Atletico are through to the last 16 as Dortmund, Benfica both won to make the play-offs.
22:49 CET - Manchester City are through! Their 3-1 win over Club Brugge sees them qualify for the next stage and Club Brugge are also in on goal difference.

22:45 CET - Into the final stages across Europe, have we got time for any more drama?
22:41 CET - Lille now 6-1 up against Feyenoord for a wonderful night in northern France.
22:38 CET - Sporting equalise against Bologna! A huge goal for the campaign from Conrad Harder has put them into the top 24 at the expense of Dinamo Zagreb.
Meanwhile, Atalanta have levelled once more against Barcelona, putting Liverpool back on top of the pile.
22:34 CET - More goals flying in, as we head back to the top of the table to see Barcelona take that first spot on goal difference once more tonight - they lead Atalanta 2-1 thanks to a goal from Ronald Araujo.
And, for the first time in a while in this League Phase, Manchester City have some breathing room. Savinho has given them a two-goal cushion over Club Brugge.
City have scored three goals in a game for the first time since 26th November 2024 against Feyenoord (D3-3).
22:31 CET - As it stands... Lille and Aston Villa are currently the big winners on the night, as they will qualify for the top eight if results stay the same.
Down in the final qualification spots for the play-offs, it is Manchester City, Club Brugge and Dinamo Zagreb who hold the final positions, but a goal from Sporting could change that all dramatically.
Check out the live standings here.
22:27 CET - Liverpool are back on top of the table thanks to Atalanta levelling with Barcelona through Ederson.
Meanwhile, Aston Villa are back in front against Celtic in what is turning into a thriller. The Villains had a chance to go 4-2 ahead, only to miss a penalty from Ollie Watkins.
22:22 CET - The drama tonight is certainly in those elimination spots at the bottom of the table. Dinamo Zagreb ae back in front against AC Milan, putting them through as it stands and knocking out Sporting.
Stuttgart, who were in the top 24 at one stage tonight, now look down and out, needing goals elsewhere to save their campaign.
22:20 CET - Lille now lead Feyenoord 3-1 in France, cementing their spot in the top eight, meaning despite Bayern now two-up against Slovan Bratislava, they look destined for the play-off round along with Real Madrid, who are also two to the good - Jude Bellingham with their second of the night.
22:18 CET - Manchester City lead! They have scored twice in nine minutes to turn it around against Club Brugge, with Joel Ordonez putting one in his own net from a Josko Gvardiol cross. That means City are now through as things stand!
22:14 CET - PSG now lead 4-0 in Stuttgart in what is turning out to be a champagne night for the Parisiens as Ousmane Dembele completes his hat-trick. Meanwhile, a big goal in the Croatian capital as AC Milan have levelled against Dinamo Zagreb, putting them out of the competition as it stands, and improbably, Stuttgart in. Remember you can follow all the goals as they go in with the link above.
22:09 CET - A lifeline for Manchester City! Mateo Kovacic has equalised with a shot from the edge of the box against Club Brugge in the 53rd minute. They need another, though, if they are to progress.

22:06 CET - As things stand... Lille are now into the top eight as they lead Feyenoord 2-1, whilst at the other end of the play-off table, it is still Sporting looking over their shoulder.
Atalanta have just dropped out of the top eight as Barcelona have taken the lead through Lamine Yamal. Barca are now top if it were to finish yet on goal difference.
22:05 CET - One team in desperate need of a goal is Manchester City, but it may not come from their Brazilian winger - only three players have had more shots without scoring in the UEFA Champions League so far this season than Savinho (13)
22:03 CET - The final 45 minutes of the league phase is upon us, still plenty of time for dramatic stories to be written - let's see what happens.
21:52 CET - The big news, then, is in Manchester, where City find themselves 1-0 down against Brugge with that late first-half goal.

Elsewhere, both of the top two - Liverpool and Barcelona - are not winning as PSV finish off a frantic half by taking the lead to make it 3-2 over the Reds.

Good news for PSG, who have allayed any fears of not qualifying by leading stricken Stuttgart 3-0 at the break. The German side are out as things stand.
Meanwhile, it could be a nervy second half for Sporting, who trail 1-0 to Bologna at half-time, meaning they are on the cusp of elimination. Dinamo Zagreb, however, are into the play-offs currently with a one-goal crushing over 10-man AC Milan.
21:48 CET - Half-time whistles going around Europe, but before we reach the break in all the games, PSV have levelled once again to make it 2-2 against the league leaders Liverpool - Ismael Saibari with his first of the night.
21:45 CET - HUGE GOAL at the Etihad! Raphael Onyekida finishes off a wonderful counter-attack to put Club Brugge ahead and, as things stand, Manchester City out of the Champions League!
21:43 CET - Nearing half-time, where we will bring you up to speed with all the standings, but before then Liverpool are back in front at PSV as Harvey Elliott nets just before the break. More joy for English sides, as Arsenal have turned it around in Spain, they now lead 2-1 against Girona.
21:40 CET - Arsenal are back on parity with Girona through Jorginho, easing any fears of dropping out of the top eight, whilst Celtic have turned it around in stunning fashion at Villa Park to now draw 2-2, dropping Villa down to 13th in the standings. A two-minute brace for Adam Idah has stunned the Midlands.
21:35 CET - PSV have hit back against Liverpool to make it 1-1 through Johan Bakoyoko, whilst PSG look home and hoses after 35 minutes, now three up against Stuttgart.
21:30 CET - Liverpool, already through remember, have taken the lead through Cody Gakpo, who has netted a penalty against his former side. No celebration, of course.
Girona have a shock lead over Arsenal in Spain, which puts the Gunners in a tricky spot with automatic qualification on the line.
Real Madrid are in front at Brest to put more pressure on the London side, whilst Bayer Leverkusen have opened the scoring against Sparta Prague, seeing them up to sixth as things stand.
21:25 CET - AS IT STANDS... Borussia Dortmund - with their 1-0 lead over Shakhtar Donetsk - have the last of the top eight spots, whilst Sporting hold 24th spot. As things stand, Manchester City will be going out tonight, but there is still a long way to go.
21:18 CET - Lille and Feyenoord find themselves needing a point to secure qualification and they have both started fast, scoring each in the early going.
Elsewhere, it has been a dreadful start for Monaco, who find themselves down to 10 and two goals behind to Inter. Meanwhile, Dortmund lead, as do Dinamo Zagreb, who need a lot to go right for them to qualify, are currently in the top 24, thanks to a goal from Martin Baturina in their match with AC Milan.
Follow the live standings right here.
21:11 CET - Bayern Munich, as things stand, are moving up to 10th as they lead 1-0 over through the ever-reliable Thomas Muller.
21:07 CET - That is a quick two-goal lead for Aston Villa over Celtic, and Morgan Rogers has both! They are 2-0 up after six minutes - meanwhile, PSG, who must secure a result to qualify, are ahead at Stuttgart - Bradley Barcola with the strike.
21:05 CET - We have our first goals - Inter have taken the lead against Monaco, Villa lead Celtic through Morgan Rogers and Atletico Madrid lead Salzburg away from home. Good news for Inter and Villa, who are looking to shore up their top eight spots.

21:00 CET - Here we go then, all 18 games are underway, how much drama are we in for tonight? Our guess... quite a bit.
20:45 CET - Not long to go now...
20:35 CET - Still plenty to play for tonight as we have already mentioned, but just to mark your card, these are the teams who have already been eliminated from this year's competition.

20:32 CET - Barcelona are another side feeling pretty comfortable at the top of the table as they face Atalanta, knowing they are already through, and it looks like it could be a tough night for the Serie A side given Barca's recent record.
20:27 CET - An update from the Etihad, where Manchester City have confirmed that their pivotal match against Club Brugge will kick off on time at 21:00 CET, despite a fire outside the ground just an hour ago.
20:20 CET - Many teams are under pressure tonight to qualify for the knockout rounds, but one team that isn't is Liverpool. The league leaders are through with a game to spare and have named a rotated side for their match against PSV.
The last time Liverpool started four players aged 21 or younger in the Champions League was against Galatasaray in December 2006. The youngest of today's starters, Jayden Danns, was just 10 months and 20 days old on that day.
Follow that game here from 21:00 CET.

20:10 CET - Brest have been one of the surprise packages of this Champions League league phase and they find themselves one point above tonight's opponents Real Madrid, with both teams secure of passage into the play-off round at the very least.
However, both could still make it into the top eight with a win.
It will be an enticing game in France tonight, one you can follow right here.

19:50 CET - Despite the fire at the Etihad Stadium, we are yet to find out whether kick-off will be delayed. To matters on the pitch, where Manchester City have John Stones as well as captain Kevin De Bruyne back in the side for their crunch clash with Club Brugge.
Manchester City have named their oldest starting XI in the UEFA Champions League (29y 12d) since September 2016 against Celtic (29y 165d) - showing they mean business tonight.
They will also have to take note of Ferran Jutgla, who starts up top for the visitors.

Meanwhile, PSG face Stuttgart with both sides needing a result to progress.
Luis Enrique has opted for Desire Doue up front, whilst Stuttgart have gone full strength.

Follow both games with Flashscore, as well as the other 16 right here.
19:40 CET - Before tonight's team news starts piling in, there have been some worrying scenes at the Etihad Stadium in Manchester with a merchandise kiosk catching fire.
The club have since confirmed that the fire has been extinguished, although all events planned for their new players and the first team arrival have been cancelled.
19:00 CET - Good evening and welcome to our Football Tracker on what promises to be a monumental night of Champions League action!
The stakes couldn't be higher for several of Europe's heavyweight sides, with Manchester City and Paris Saint-Germain needing positive results against Club Brugge and Stuttgart respectively in order to make the top-24 cut-off and qualify for the playoffs.
Check out the permutations for every team tonight.
Elsewhere, Real Madrid will be hoping to squeeze into the top eight with a victory at Brest, while the likes of Atletico Madrid, AC Milan, Atalanta and Bayer Leverkusen will be looking nervously over their shoulder, needing one final result to preserve their top-eight spot (and automatic qualification into the last 16).
Leaders Liverpool know a point at PSV will be enough to secure first place, but defeat for Arne Slot's heavily rotated side could open the door for Barcelona to claim the bragging rights, with Hansi Flick's men hosting seventh-placed Atalanta in a blockbuster clash.