Atletico Madrid won a bad-tempered game in Porto on Tuesday to qualify for the last 16 of the Champions League as Liverpool and Ajax both completed the group stage with 100 percent records.
Atletico qualify as Liverpool complete perfect Champions League group stage
Lionel Messi and Kylian Mbappe both scored twice as PSG crushed Club Brugge 4-1
Diego Simeone's Atletico, who lost to Real Madrid in the 2014 and 2016 finals, needed to beat Porto in Portugal to advance to the knockout phase and they duly triumphed 3-1 in a game which featured three red cards.
Antoine Griezmann put the Spanish champions ahead in the 56th minute at the Estadio do Dragao but they then had Yannick Carrasco sent off for wrestling Otavio to the ground.
With tempers flaring, Porto were also reduced to 10 men as Wendell was sent off for elbowing Atletico's Matheus Cunha in the neck, before their substitute goalkeeper Agustin Marchesin also saw red.
With Porto pushing forward in search of the draw they needed to qualify, Atletico got their second goal on the break in the last minute through Angel Correa before Rodrigo De Paul scored their third in injury time. Sergio Oliveira's penalty was a mere consolation for Porto.
Atletico finish second in Group B, a huge 11 points behind group winners Liverpool, who made it six wins out of six in Europe this season by beating AC Milan 2-1 at San Siro despite fielding a virtual reserve side.
Milan had to win to stand a chance of going through and they went ahead midway through the first half through Fikayo Tomori.
Mohamed Salah did start for the visitors and he equalised in the 36th minute before Divock Origi -- who scored a stoppage-time winner in the Premier League at the weekend -- made it 2-1 10 minutes into the second half, heading in after Sadio Mane's shot was saved.
"It's an exceptional performance," said manager Jurgen Klopp. "With that many changes, the boys have to be confident enough to show how good they are. I saw so many good things tonight, it was unbelievable."
Milan finish bottom of the group in their first Champions League campaign since 2013-14, with Porto parachuting into the Europa League.
Elsewhere, Real Madrid secured top spot in Group D with a 2-0 defeat of Inter Milan at the Santiago Bernabeu.
Both sides had already qualified for the last 16 and Real just needed a draw to top the group.
They went ahead through an early Toni Kroos strike, and Inter had Nicolo Barella sent off just after the hour mark before substitute Marco Asensio sealed Real's victory with a stupendous strike.
"Our objective is to go all the way, not just reach the last 16," said Real coach Carlo Ancelotti.
Moldovan debutants Sheriff Tiraspol had already secured third place before Boban Nikolov's injury-time goal earned them a 1-1 draw at bottom side Shakhtar Donetsk, for whom Fernando had opened the scoring.
Ajax made it six wins out of six in Group C by defeating Sporting Lisbon 4-2 in Amsterdam in a game played behind closed doors due to coronavirus restrictions in the Netherlands.
Sebastien Haller put Ajax ahead with an early penalty for his 10th goal in the group stage, while Brazilian duo Antony and David Neres added further goals and Steven Berghuis was also on target.
Nuno Santos and Bruno Tabata netted for Sporting, who had already secured second place to qualify ahead of Borussia Dortmund.
The Germans crushed 10-man Besiktas 5-0 with Donyell Malen getting the opener and Marco Reus scoring a brace before Erling Haaland came off the bench to score two headers in the second half.
Earlier Manchester City, having already clinched first place in Group A, lost 2-1 at RB Leipzig, with Dominik Szoboszlai and Andre Silva on target for the Germans in their first game since sacking coach Jesse Marsch.
Riyad Mahrez pulled one back for City, who had Kyle Walker sent off late on as Leipzig took third place.
Paris Saint-Germain, who finish second in the group, crushed Club Brugge 4-1 with Kylian Mbappe and Lionel Messi both scoring twice.
Mbappe's goals both came inside the first seven minutes and he then set up Messi's first goal, with the Argentinian adding a penalty as he moved on to five Champions League goals in five appearances this season.