Borussia Dortmund guaranteed progression as winners of Group D in the UEFA Champions League as Robert Lewandowski scored twice in a 4-1 thrashing of Ajax at the Amsterdam ArenA.
Marco Reus, Mario Gotze and Lewandowski put the in-form Germans out of sight by half-time, and after Lewandowski had added his second of the night, Danny Hoesen grabbed a consolation for the home side with four minutes left.
Real Madrid also progressed after a 1-1 draw with Manchester City.
Porto and Paris St Germain will play off in Paris next month to determine the winners of Group A after both sides underlined their progression to the knockout stages with easy wins.
Porto remain a point clear at the top of the group after a 3-0 home win over pointless Dinamo Zagreb, Lucho Gonzalez putting them ahead in the 20th minute before second-half strikes from Joao Moutinho and Silvestre Varela.
And the French side also rubber-stamped their qualification with a 2-0 win over Dynamo Kiev in Ukraine, with Ezequiel Lavezzi opening the scoring on the stroke of half-time and adding a second soon after the break.
Christian Fuchs scored the only goal of the game in the 77th minute as Schalke 04 beat Olympiakos to ensure qualification from Group B and give them a one-point advantage over second-placed Arsenal.
The Gunners also made sure they will join Schalke in the last 16 after putting their recent unpredictable form behind them with a 2-0 win over Montpellier. Jack Wilshere and Lukas Podolski scored in the second half.
Malaga went through as Group C winners despite blowing an early 2-0 lead to draw 2-2 with Zenit St Petersburg in Russia. Diego Buonanotte and Sebastian Fernandez put the Spaniards in front with just nine minutes gone, before Danny and Viktor Fayzulin rescued a point.
Milan's 3-1 win at Anderlecht meant they will join Malaga in the knockout stages. Stephan El Shaarawy put Milan in front before Bram Nuytinck was sent off for the Belgians. Philippe Mexes added a second, Tom De Sutter reduced the deficit for the hosts but Alexandre Pato made it three in injury time.