Victories for Liverpool and Chelsea on Tuesday night mean that all four English sides in the Champions League have booked their place in the Round of 16 even before Wednesday's final group stage fixtures.
Here the PA media agency takes a look at how each of them did it.
Liverpool
How they progressed: Group E winners
Liverpool went into the final round of matches on Tuesday night not sure of progression but ended up as group winners thanks to a 2-0 victory over Salzburg in Austria. Their campaign got off to a bad start in September when they lost 2-0 away to Napoli, and they needed Mo Salah's 69th minute winner against Salzburg after blowing a 3-0 lead in a dramatic 4-3 win at Anfield two weeks later. After Napoli frustrated Jurgen Klopp's side in a 1-1 draw on Merseyside in late November they travelled to Salzburg on Tuesday knowing defeat could have condemned them to the Europa League, but two second half goals in as many minutes from Naby Keita and Salah ensured their progress.
Manchester City
How they progressed: Group C winners
City got their work in Europe done early, winning their opening three Group C fixtures and scoring 10 goals in the process, half of them in a 5-1 rout of Atalanta in Manchester on October 22. Back-to-back 1-1 draws away to the Italians and at home to Shakhtar Donetsk have followed, but with City five points clear going into the final round of fixtures and their trip to Dinamo Zagreb on Wednesday, progress is already assured.
Chelsea
How they progressed: Second in Group H
Frank Lampard's side survived a nervy finale to their 2-1 win over Lille on Tuesday night to beat Ajax to second place in Group H by a single point. It was in keeping with an often dramatic campaign for the Londoners, who lost their opening game 1-0 at home to Valencia but, after winning in Lille, secured a vital 1-0 win over Ajax in Amsterdam which Lampard called a coming-of-age moment for his young side. A wild night followed at Stamford Bridge as they came from 4-1 down to draw 4-4 with Ajax – with Jorginho scoring twice from the penalty spot and the Dutch side playing the last 20 minues with nine men – and it was a result which proved vital in a tight group.
Tottenham
How they progressed: Second in Group B
Tottenham endured a poor start to their campaign, held in a 2-2 draw away to Olympiacos before ex-Arsenal man Serge Gnabry bagged four goals in a stunning 7-2 home defeat to Bayern Munich in October. But though their domestic frustrations lingered on and ultimately cost Mauricio Pochettino his job, they turned things around in Europe thanks to two big victories over Red Star Belgrade – 5-0 at home and 4-0 on the road – and a 4-2 win over Olympiacos in London which ensured they travel to Munich on Wednesday already certain of their place in the knock-out phase, even if top spot in the group is out of reach.