Borussia Dortmund, Arsenal, Schalke 04 and AC Milan sneaked into the quarter-finals of the Champions League while Napoli were eliminated Wednesday in cruel fashion.
On a night of high drama, Dortmund scored a late 2-1 win at Olympique Marseille - thanks to a late winner from defender Kevin Grosskreutz - to set up a bizarre triple tie in Group F.
Dortmund, Arsenal and Napoli - who beat Arsenal 2-0 - finished level on 12 points. Dortmund won the group on goals scored, and Arsenal came second, with hapless Napoli shunted to third and going into the Europa League.
On a good night for German football, Schalke beat FC Basel 2-0 to finish second in Group E behind Chelsea.
Milan salvaged some pride for Italy - on a day when Juventus were eliminated earlier by Galatasaray - by finishing second behind Barcelona in Group H, with a nervous 0-0 draw at home to Ajax.
In the round of 16 there will be four English teams - Chelsea, Arsenal, Manchester United and City; four Germans - Schalke, Dortmund, holders Bayern Munich and Bayer Leverkusen; three Spanish - Barcelona, Atletico and Real Madrid; plus Russian squad Zenit St Petersburg; only Milan from Italy; French side Paris St Germain; Greek side Olimpiacos; and Turkish side Galatasaray.
Group F turned out to be the most suspenseful of the eight groups.
Dortmund needed to win in Marseille to qualify and succeeded with goals from Robert Lewandowski and, crucially, Grosskreutz.
Marseille, who finished with no points at all, equalized through Souleymane Diawara but then had Dimitri Payet sent off.
Napoli needed to beat Arsenal by a three-goal margin to not have to rely on Dortmund dropping points.
Gonzalo Higuain and Jose Callejon gave them hope with late goals before word of Grosskreutz’s strike for Dortmund. The news silenced San Paolo and left Napoli needing a third goal to eliminate Arsenal, who just managed to play out time despite having veteran Mikel Arteta sent off.
'We are happy to be through because it was very difficult. We took it very seriously, but in the second half we dropped physically a lot. We had a game on Sunday,' relieved Arsenal boss Arsene Wenger said.
'Naples played very well tonight, but we were a little bit on edge for some minutes. It was nervous in the end, but we got through. Maybe what helped was that Dortmund were drawing 1-1, and maybe they put the handbrake on - that’s why we didn’t get too much pressure in the end.'
Napoli manager Rafa Benitez called it 'very cruel to go out having picked up 12 points - I don’t know if this has ever happened before'. Group H was almost as nail-biting, with Milan salving Italian pride with a 0-0 draw at home to Ajax, who needed to win in San Siro to finish second. What made the clash even tenser was that Milan had captain Riccardo Montolivo sent off midway through the first half, and had to play for more than an hour with 10 men.
Ajax laid siege to the Milan goal, but the Italians just managed to cling on.
An Ajax fan underwent surgery after being stabbed ahead of the game in Milan, and there were assaults against Arsenal fans in Naples before the Group F clash.
Milan finished four points behind group winners Barcelona, who turned on the old style to slaughter Celtic 6-1 with a hat-trick from Brazilian tyro Neymar.
'I am really pleased to have scored my first hat-trick in the Champions League,' a beaming Neymar said. 'It was great to be able to play in a free role tonight. I didn’t feel under pressure to score. I just wanted to go out an enjoy myself.' Group E was almost as tight as F and H, with Schalke beating Basel 2-0 on goals from youngsters Julian Draxler and Joel Matip.
Chelsea, who beat Steaua Bucharest 1-0, finished top with 12 points, while Schalke finished on 10 and Basel on eight.
In Group G, Zenit turned out to be the happiest losers of the night.
The Russians crashed 4-1 at bottom team Austria Vienna but edged through as second because FC Porto crashed 2-0 at group winners Atletico Madrid.
Atletico finished with 16 points, Zenit with six, and Porto and Vienna with five each.