Manchester City were down and out with 10 minutes to play against Bayern Munich a couple of weeks ago.
But then Sergio Aguero struck twice and they were back in contention for a place in the last-16 of the Champions League.
Aguero, unfortunately for City fans, is missing tonight, but the Premier League champions can still qualify providing Bayern Munich manage to old off CSKA.
City can go through with a win or a draw, but it's a bit complicated in Group E.
Here's what could happen in the Champions League tonight.
Bayern Munich: Qualified as group winners.
Roma: Will be guaranteed progress by beating City. A 0-0 draw would also see them into the last-16 if CSKA lose to Bayern, while a score-draw would be enough if CSKA also draw.
CSKA Moscow: Facing a trip to the Allianz, they will qualify if they win and Roma do not beat City. If CSKA and City both win, the Russian side will progress.
Manchester City: Complicated. Will qualify with a win in Rome as long as CSKA do not win in Germany. Will also qualify with a score-draw if CSKA lose.
Manchester City injury list
Manchester City injury list
1/6 Vincent Kompany (defence)
The City captain suffered a groin injury during the Manchester derby defeat and was forced off at half-time. Kompany could miss the rest of the season.
2/6 James Milner (midfield)
James Milner is suffering from a knee injury that also forced him off in the loss to United, and will miss the match against West Ham.
3/6 Stevan Jovetic (striker)
Stevan Jovetic has not played for City since the 3-0 win over West Brom on 21 March after suffering a muscular injury
4/6 Gael Clichy (defence)
Gael Clichy lasted the full 90 minutes against United but has been ruled out of the West Ham game with a muscular injury
5/6 Wilfried Bony (striker)
The £27m January signing has no played since suffering an ankle injury in training after the West Brom game in March
Dedryck Boyata is in contention to return against West Ham
Paris Saint-Germain: Are through and need only to draw at the Nou Camp to progress as group winners.
Barcelona: Are through but have to win at home to finish top.
Ajax: Only need to draw to book a Europa League spot.
APOEL Nicosia: Must beat Ajax to secure a Europa League place.
Chelsea: Through as group winners.
Sporting Lisbon: Only need a draw to book their place in the next round. Will still qualify if they lose and Schalke don't win.
Schalke: Must win away at Maribor and hope Sporting lose at Stamford Bridhe to qualify for the last-16. Will enter the Europa League with a draw.
Maribor: A win at home to Schalke means they qualify for the Europa League.
Porto: Are through as group winners.
Shakhtar Donetsk: Are through as runners-up.
Athletic Bilbao: Need only a draw to qualify for the Europa League.
BATE Borisov: Need to beat Athletic to qualify for the Europa League.