Manchester City's Sergio Aguero struck a hat-trick, including two late goals, in a 3-2 victory against 10-man Bayern Munich on Tuesday to keep alive their hopes of reaching the Champions League knockout phase.
Aguero raced through to slot past Manuel Neuer in the 85th and 91st minutes to snatch a stunning win, the Argentine having given Manchester City a 21st minute lead with a penalty after Bayern's Mehdi Benatia was shown a red card for bringing him down.
Xabi Alonso and Robert Lewandowski had struck within five minutes of each other shortly before halftime to put the visitors in front at the break.
City are level on five points with CSKA Moscow and AS Roma, who earlier drew 1-1, and know if they win in Rome and the Russians fail to beat Bayern in the final round of Group E matches they will qualify for the last 16.
"I am very happy it is very important for us. The [group] draw was difficult but we're happy now because this is a very important result and the next game we have to win," Aguero told ITV ahead of their final group match at AS Roma.
City manager Manuel Pellegrini had said any pressure his side were under was self-inflicted but they could do little to prevent Bayern dominating the early possession.
Goalkeeper Joe Hart had to be alert in the early stages to deny Sebastian Rode, who raced onto Arjen Robben's clipped pass before the Dutch winger dragged a shot wide.
Moments after Eliaquim Mangala produced a crucial block to deny Rafinha, Aguero latched onto a hopeful ball upfield and was felled by last man Benatia as he raced into the box.
The Argentine striker steadied himself before coolly dispatching the penalty past Manuel Neuer to put City ahead.
The numerical advantage allowed City to establish a foothold in the game and, even without suspended duo Yaya Toure and Fernandinho, they began to dictate the midfield exchanges.
But just as they appeared to be in the ascendancy against the Bavarians, classy Spanish midfielder Alonso equalised with a smart, low freekick that deceived a static Hart.
With City still reeling from the shock of surrendering their lead, Poland international Lewandowski looped an effort past the stranded Hart via a fortuitous combination of head and shoulder.
After halftime City's James Milner and Jesus Navas went close before the visitors reasserted themselves, effortlessly maintaining possession for long periods.
Frank Lampard drew an acrobatic save from Neuer before City captain Vincent Kompany swivelled to shoot wide and then, just as their hopes appeared to have faded, Aguero took control.
First, Samir Nasri intercepted a misplaced Alonso pass and fed Aguero who slotted the ball past the advancing Neuer to bring the scores level.
Six minutes later Aguero capitalised on Jerome Boateng's error to bag his 17th goal in all competitions this season with another calm finish under pressure to light up the Etihad Stadium.
In Germany, Chelsea produced a footballing masterclass to romp to a 5-0 win at Schalke 04 to power into the last 16 of the Champions League and make it a miserable night for former manager Roberto Di Matteo.
Captain John Terry headed in a corner after 78 seconds and Brazil midfielder Willian doubled the lead with a fierce low shot on the half hour.
A Jan Kirchhoff own goal in the 44th minute made it 3-0 and second half goals from substitutes Didier Drogba and Ramires allowed Chelsea to extend their unbeaten start to the season to 19 games in all competitions.
"It was a fantastic performance from the first to the last minute...5-0 in Germany is not normal," Chelsea manager Jose Mourinho said.
"Any team would have struggled against us tonight with the quality we showed."
Schalke, who hit the woodwork in the first half, had little to offer against a rampant Chelsea as manager Di Matteo lost his first meeting against the team he led to Champions League glory in 2012.
Chelsea clinched top spot in Group G with 11 points from five games, four ahead of Sporting who beat Maribor (three) 3-1 on Tuesday.
Schalke, who lost for the first time at home under Di Matteo, are in third position on five points with one match remaining.
"I'm at a loss for words," said Schalke captain Benedikt Hoewedes. "I can only apologise to everyone. We gave Chelsea too much space to play."
Results: Group E: Manchester City 3-2 Bayern Munich; CSKA Moscow 1-1 Roma. Group F: APOEL 0-4 Barcelona; PSG 3-1 Ajax. Group G: Schalke 0-5 Chelsea; Sporting Lisbon 3-1 Maribor. Group H: BATE 0-3 FC Porto; Shakhtar Donetsk 0-1 Athletic Bilbao.