Sergio Aguero struck twice in the closing minutes to complete a hat-trick and revive Manchester City's Champions League hopes with a 3-2 win over 10-man Bayern Munich.
City's challenge had looked all but over after Aguero's early penalty was cancelled out by quickfire goals from Xabi Alonso and Robert Lewandowski before half-time.
But Aguero seized on a mistake from the otherwise brilliant Alonso to equalise with five minutes remaining and then broke through again after a Jerome Boateng error for a brilliant winner.
The victory was City's first of the competition and brought them level with Roma and CSKA Moscow in Group E with a trip to the Italian capital to come next month.
City certainly did it the hard way after surrendering their early advantage.
Aguero struck from the spot after being brought down by Medhi Benatia, who was sent off for his challenge.
But they were unable to build on that advantage and it was left to the prolific Aguero to save them, the Argentinian doing so in style by taking his goal tally for the season to 17.
CSKA Moscow's last-gasp draw against Roma had meant City could not be eliminated on the night and the atmosphere, flat in home European games this season, reflected that hope.
City responded by making a lively start. Jesus Navas picked out the run of Samir Nasri with a superb through ball and the Frenchman looked threatening as he checked back to shoot, although his effort was blocked.
Gael Clichy maintained the positive start with a quick charge down the left but his cross for Frank Lampard was slightly overhit.
Bayern also had some prolonged spells of possession. Even without players such as Phillip Lahm, David Alaba, Javi Martinez, Holger Badstuber and Thiago Alcantara, and Bastian Schweinsteiger, Thomas Muller and Mario Gotze on the bench, they looked dangerous.
Arjen Robben was typically full of running and flicked a superb pass into the box for Sebastian Rode to test Joe Hart at point-blank range.
Robben then drove a shot wide before breaking down the left to set up Rafinha, whose low drive was blocked by Eliaquim Mangala.
It proved a critical intervention as Lampard released Aguero with a fine long pass.
The Argentinian raced into the area and looked to have the better of Benatia before the Moroccan brought him down with an ill-timed challenge.
Czech referee Pavel Kralovec did not hurry his decision but correctly pointed to the spot and showed the red card to Benatia.