Borussia Dortmund and Real Madrid are through to the last 16 of the Champions League after Wednesday's Champions League action.
Manchester City were sent out in the group stage for the second year running following a 1-1 draw against Real Madrid.
City needed a win to keep their hopes alive going into the Group D finale, but Karim Benzema exploited sloppy defending to put Madrid ahead after just 10 minutes at Etihad Stadium.
City secured a lifeline in the 74th when Alvaro Arbeloa was sent off after fouling Sergio Aguero and the Argentina striker subsequently equalised from the penalty spot.
But Madrid held on for the draw to qualify, leaving City stranded at the bottom with just three points from five matches.
"With the array of players at their disposal it is amazing they have been eliminated at the group stage two years running," Real manager Jose Mourinho said.
"If it was Madrid I think the press wouldn't let me return to Madrid."
Borussia Dortmund are now guaranteed to finish top the Group of Death after easing into the next round with a 4-1 thrashing of Ajax. Mario Goetze was involved in all four goals, including two from Robert Lewandowski.
"All our goals were top quality and came at just the right time," said Dortmund coach Jurgen Klopp.
"Ajax were a difficult opponent, even if the result doesn't suggest it."
The neat and well-organised German side are many people's outside bet to win the tournament.
Arguably the most in-form Champions league team alongside Dortmund are Spanish side Malaga, who had already qualified before their match with Zenit St Petersburg.
They continued their strong showing in the tournament taking a two goal lead against their rivals but Zenit St. Petersburg fought back in their clash to claim a 2-2 draw.
However, the point wasn't enough for the Russian side to get through as AC Milan's 3-1 victory over Anderlecht gave the Italians the second spot.
Stephan El Shaarawy and Philippe Mexes produced flashes of brilliance to lead Milan to a place in the next round of the Champions League.
Schalke and Arsenal also qualified for the last 16 in Group B.
German side Schalke currently top the group after scoring a late goal to secure a 1-0 win over Olympiakos.
Christian Fuchs settled the issue with 13 minutes remaining when he looked up and let fly from 35 metres to steer the ball inside the post. It was the Austrian defender's first Champions League goal.
| Wilshere (R) celebrates with teammate Alex Oxlade-Chamberlain after scoring comeback goal [EPA]
Jack Wilshere helped Arsenal to qualify scoring his first goal in two years after returning from injury in a 2-0 win over Montpellier. Lukas Podolski added a second with a sumptuous volley clinching the English team's passage to the knockout stage for the 13th straight year.
Assured of a top-two finish, Arsenal go into their last group stage match against leaders Schalke. Both sides will want to finish top to secure an easier last-16 match.
Paris Saint-Germain also guaranteed themselves a place in the next round with a 2-0 defeat of Dynamo Kiev.
Argentine Ezequiel Lavezzi scored in each half leaving PSG in second place with 12 points, one point behind leaders FC Porto. Dynamo are third on four points and will move on to the Europa League.
FC Porto defeated Dinamo Zagreb 3-0 but have to play PSG in two weeks' time for the top spot in Group A.
Lucho Gonzalez hit a left-foot shot for his second goal in the tournament after 20 minutes. Portugal's Joao Moutinho fired in a 67th-minute free kick, and Silvestre Varela sealed the victory five minutes from the end.
Porto, two-time European champions, were untroubled in a mostly uneventful encounter with Dinamo, who extended their winless streak in the tournament to 11 games.