Paris Saint-Germain and Porto qualified for the Champions League last 16 on Wednesday as Newcastle bowed out of Europe after losing 2-1 at home to AC Milan.
PSG drew 1-1 away to Group F winners Borussia Dortmund to go through as runners-up after Milan came from behind to beat Newcastle at St James' Park and eliminate Eddie Howe's side.
Newcastle, who needed to win and for PSG to drop points to keep their first Champions League campaign in 20 years alive, took the lead through a brilliant Joelinton strike in the first half.
But Christian Pulisic equalised on the hour and substitute Samuel Chukwueze broke Newcastle hearts with an 84th-minute winner, although it wasn't enough for Milan to overhaul PSG.
"We gave everything to the match. I can't ask for anything more (in terms of) commitment, effort, physical exertion. Unfortunately for us it wasn't to be," said Howe.
The French champions, in danger of a first group stage exit since the Qatari takeover in 2011, fell behind when Karim Adeyemi scored early in the second half in Germany.
Warren Zaire-Emery came to the rescue for PSG five minutes later after Kylian Mbappe weaved into the box, his pass deflected out to the teenager who advanced towards goal before slamming home a powerful shot.
Mbappe, whose PSG future will again come into sharp focus in January, had an effort ruled out for offside but the point was enough in the end for the visitors, who finished level on points with Milan but progressed thanks to a better head-to-head goal difference.
"We're far from the finished article," said PSG captain Marquinhos. "We're going to have to prepare well and prepare better because bigger opponents are on the way."
Porto made the last 16 at the expense of Shakhtar Donetsk after a 5-3 win over the Ukrainians.
The hosts only needed to avoid defeat at the Estadio do Dragao to progress from Group H with Barcelona, and an early Galeno goal put Porto ahead.
Danylo Sikan hauled Shakhtar level but Galeno netted again before Mehdi Taremi made it 3-1 to the Portuguese side.
An own goal gave Shakhtar a lifeline but 40-year-old Pepe eased Porto nerves with his team's fourth and Francisco Conceicao then put the game to bed, with Eguinaldo bagging a late consolation.
"In Porto, we never play for a draw, even though that result also suited us. The manager said this match would be like a final and we had to win. Mission accomplished," Galeno told CNN Portugal.
Royal Antwerp claimed a famous 3-2 win over Barcelona as George Ilenikhena netted a stoppage-time winner.
The Belgians twice led courtesy of goals from Arthur Vermeeren and Vincent Janssen but Barcelona replied through Ferran Torres and Marc Guiu, who looked to have salvaged a draw before Ilenikhena's heroics.
Manchester City became just the second English club to win all six Champions League group stage games with a 3-2 victory at Red Star Belgrade.
Twenty-year-old Micah Hamilton and Oscar Bobb scored their first goals for the club before Hwang In-beom pulled a goal back for the Serbian champions.
Kalvin Phillips scored his first City goal with a late penalty as Aleksandar Katai struck a consolation for Red Star in added time.
Defending champions City had already wrapped up top spot in Group G ahead of RB Leipzig, who won 2-1 at home to Switzerland's Young Boys.
Benjamin Sesko and Emil Forsberg got the goals for Leipzig either side of Ebrima Colley's equaliser in a frenetic five-minute spell in the second half.
Atletico sealed first place in Group E as Antoine Griezmann and Samuel Lino struck in a 2-0 victory over runners-up Lazio.
Celtic ended a 15-game winless streak in the group stage with Gustaf Lagerbielke's late header earning Brendan Rodgers' team a 2-1 victory over Feyenoord.
Luis Palma's first-half penalty put the Scots on top but their barren run looked destined to continue when Yankuba Minteh levelled with eight minutes left.