Man City go down to RB Leipzig, Borussia Dortmund with a big win but drops down into the Europa League; AC Milan out of Europe after defeat to Liverpool; Kylian Mbappe and Lionel Messi on target as PSG beat Club Brugge.
Atletico Madrid are through to the knockout stages after they broke Porto’s hearts with victory at Estadio do Dragao in a match full of incident in Group B.
Atletico had no option than to win to progress and they took the lead after 56 minutes through Antoine Griezmann. However, Yannick Carrasco’s 67th-minute red card made their task more difficult.
The hosts shot themselves spectacularly in the foot, though, when they were reduced to 10 men with the sending off of Borges Wendell.
As Porto pushed for the goal that would keep them in the competition, they were twice hit on the counter attack in injury time through goals from Rodrigo De Paul and Angel Correa.
Sergio Oliveira tucked away a very late penalty but it was too little too late.
Real Madrid are also through to the last 16 as Group D winners after they secured a 2-0 win against Inter Milan.
A couple of astonishing goals from Toni Kroos and Marco Asensio helped Real Madrid to a 2-0 win over Inter that ensured the Spanish side progressed as Group D winners. Both teams had already booked their last-16 places and Real ended on 15 points from six games, five more than second-placed Inter.
Inter would have leapfrogged their opponents with victory in Spain but were unable to convert their chances, though they still go through in second place.
Kroos opened the scoring in the 17th minute with a crisp low shot from 20 metres which flashed past goalkeeper Samir Handanovic to give the spanish side their 1,000th goal in the European Cup, becoming the first club to reach that landmark.
Referee Felix Brych showed Barella a straight red card in the 64th minute. The Italy midfielder retaliated after he rubbed shoulders with Rodrygo by the touchline and crashed into the panel boards, swinging his arm and leg at the Brazilian while he was still on the ground.
Inter were on the back foot and substitute Asensio made it 2-0 with a superb goal in the 79th minute shortly after coming on for Rodrygo. Crisp one-touch passing left the Spanish forward with time and space on the edge of the penalty area to curl a delightful shot which flew into the back of the net off the post.
Sheriff Tiraspol will head into the Europa League after finishing third in the group. Boban Nikolov’s injury-time equaliser earned the Moldovan minnows a 1-1 draw at Shakhtar Donetsk.
Borussia Dortmund also won Besiktas 5-0, but it was not enough for them to go through and it will also be Europa League football for them in the new year.
Ajax were also on the winning side after they won Sporting 4-2 as the Dutch side ended the Champions League group stage with a 100 per cent record.
The top two places in Group A were already decided but RB Leipzig’s 2-1 home win over group winners Manchester City kept them in Europe.
Goals from Dominik Szoboszlai and Andre Silva sealed third place, despite Riyad Mahrez’s reply for the English champions – who had Kyle Walker sent off.
Kylian Mbappe and Lionel Messi each scored twice in Paris Saint Germain’s 4-1 win against Club Brugge.
AC Milan are out of Europe this season after losing 2-1 to Liverpool at San Siro. The hosts led through Fikayo Tomori’s tap-in but goals from Mohamed Salah and Divock Origi either side of half-time saw Liverpool make it six wins from six matches in the group – the first English side to do so in the Champions League.