Manchester City progressed to the knockout stages of the Champions League after twice coming from behind to draw 2-2 with Olympique Lyonnais in Group F on Tuesday.
Goals from Maxwel Cornet were cancelled out by Aymeric Laporte and Sergio Aguero to leave City top of the group on 10 points. Lyon are second on seven points, two ahead of Shakhtar Donetsk who snatched a late 3-2 win at Hoffenheim to keep alive their hopes of reaching the last 16.
City often found themselves on the back foot in France and struggled to contain Ivorian forward Cornet who went close to scoring after half an hour but a heavy touch let him down right in front of goal.
He also attempted an acrobatic scissor kick that hit the crossbar just before half-time, but finally got his reward in some style, giving the hosts the lead 10 minutes after the break with a fine left-foot finish from the edge of the area.
A few minutes later, Lyon goalkeeper Anthony Lopes made a good save to keep out Aguero's header from point-blank range.
Yet Pep Guardiola's side soon equalised when Laporte headed in just after the hour following a flick on from David Silva.
The game was petering out until Cornet struck again 10 minutes from full-time with a low angled finish after latching on to a through ball from Memphis Depay.
Once again City quickly levelled with a header, this time Aguero making no mistake straight from a Riyad Mahrez corner to salvage a hard-earned point for his side.
Guardiola had high praise for Lyon, who are the only team to have defeated City this season, having won the first group game 2-1 at the Etihad Stadium in September, and the only side to score twice against the English champions.
"We are so happy, so delighted. They are one of toughest teams we ever faced. We reacted so well after 1-0 and 2-1 and we are in the finals [stage] and this was our target," Guardiola told BT Sport.
"Always in my career when I play French teams they are so physical, that's why they are world champions."
The draw would have been enough for both sides to reach the round of 16 were it not for Shakhtar's late winner. Lyon travel to Ukraine in a final group showdown next month.
Hoffenheim prop up the group on three points but can still clinch third place and a spot in the Europa League.