The 16 contenders have been decided.
Club Brugge 0 vs. 0 Atletico Madrid
A bore draw between the two sides as Brugge were already heading for the Europa League. The draw also meant that Atletico finished 2nd in the group.
AS Monaco 0 vs. 2 Borussia Dortmund
Raphael Guerriero provided both goals as Dortmund’s win made sure that they finished in the top spot. Monaco ended their European outings with a single point to their name.
Inter Milan 1 vs. 1 PSV Eindhoven
PSV got an early lead in the 13th minute thanks to Hirving Lozano but Icardi equalised in the 73rd minute. Inter thought they were heading to the knockout round but the result in Barcelona made sure that Inter due to a very minimal difference would be heading for the Europa League. PSV only managed two points in Europe this season but at least they ended on a positive note.
Barcelona 1 vs. 1 Tottenham
Dembele scored in the 7th minute while Tottenham needed a point at least to stand a chance of making the knockout round. They just about managed it thanks to Moura’s goal in the 83rd minute. Barca finished the group as leaders while Tottenham just about scraped into the next round.
Red Star Belgrade 1 vs. 4 Paris Saint Germain
Cavani, Neymar, Marquinhos, and Mbappe scored throughout the game to make sure that they would be heading as leaders into the knockout stage. Red Star needed a win but they could no replicate the performance they had against Liverpool.
Liverpool 1 vs. 0 Napoli
Salah scored in the 34th minute as Liverpool held on to scrape into the knockout rounds in 2nd place. Napoli fell from 1st to 3rd and the loss means that they will be heading to the Europa League.
Schalke 04 1 vs. 0 Lokomotiv Moscow
With the places already decided the only team that needed a win was Lokomotiv Moscow but Schopf scored in the very last minute to steal all three points for Schalke. Lokomotiv will have to wait till next season for another outing in Europe.
Galatasaray 2 vs. 3 FC Porto
Monteiro and Marega scored in the first half to give Porto the lead but Feghouli scored right before half time to give Galatasaray some hope. Oliveira scored for Porto early in the second half to restore the deficit to 2 and while Derdiyok did get one back for Galatasaray it was not enough for the three points. However results elsewhere meant that Galatasaray would be heading for the Europa League while Porto were already guaranteed to finish 1st.
Benfica 1 vs. 0 AEK Athens
Benfica were already heading for the Europa League and a Grimaldo goal in the 88th minute made sure that they bowed out of the Champions League with a win. AEK would have been looking forward to seal their first point in the Champions League but it was not to be as they got eliminated with 0 points.
Ajax 3 vs. 3 Bayern Munich
The fight for 1st and 2nd in the group was still on as Lewnadowski gave Bayern the lead in the 13th minute. Tadic then equalised in the 61st minute to send the game into free for all. Wober was sent off for Ajax in the 67th minute and Muller was sent off for Bayern in the 75th minute. Tadic then gave Ajax the lead in the 82nd minute, while Lewandowski scored again to equalise for Bayern in the 87th minute. Coman then gave Bayern the lead in the 90th minute but Tagliafico scored in the 95th minute to seal a point for Ajax. Bayern finish the group as leaders while Ajax finish 2nd.
Shakhtar Donetsk 1 vs. 1 Olympique Lyonnais
Moraes gave Shakhtar the lead in the first half but Fekir equalised in the second to make sure that the teams shared the points. The draw meant that Shakhtar would be heading to the Europa League while Lyon managed to finish 2nd in the table to make the knockout rounds.
Man City 2 vs. 1 Hoffenheim
Kramaric gave Hoffenheim the lead in the first half but Sane scored a double to seal a win for City. The win would have managed to see Hoffenheim into the Europa League but the loss meant that they finished last.
Viktoria Plzen 2 vs. 1 AS Roma
Kovarik scored in the 62nd minute to give Plzen the lead while Under equalised for AS Roma in the 67th minute but Chory scored in the 72nd minute to seal the win for Plzen. Plzen sealed a Europa League place with the win while Roma had already sealed a place in the knockout stages but missed out at finishing 1st.
Real Madrid 0 vs. 3 CSKA Moskva
CSKA needed a win to stand a chance of finishing 3rd and win they did as they beat Real in emphatic fashion in Madrid. Chalov, Schennnikov, and Sigurdsson for CSKA, results elsewhere though meant that CSKA would still finish 4th due to goal difference. Real finished 1st but they will be relieved that the knockout rounds are in Jan while CSKA head out of Europe with their heads held high.
Young Boys 2 vs. 1 Juventus
Hoarau scored a double to give Young Boys the lead and they held on even though Dybala scored in the 80th minute to make things interesting. Young Boys end their European outing with a win while Juventus managed to finish 1st with the loss.
Valencia 2 vs. 1 Man United
Soler scored for Valencia and Phil Jones added an own goal early on to give Valencia a two goal lead. Rashford scored in the 87th minute but it was too little too late for United. Valencia enter the Europa League with their heads held high while United finish 2nd in the group.