Sergio Aguero's late equaliser ensured Manchester City booked their place in the Champions League last 16 with a frantic 2-2 draw at Lyon on Tuesday.
Maxwel Cornet's double looked to have put Lyon in pole position in Group F heading into the final matchweek, with Aymeric Laporte having cancelled out the winger's 55th-minute opener.
But just two minutes after Cornet's second, City responded again – Aguero rising highest to head home from a corner and punish the hosts for some wasteful first-half finishing.
And thanks to Shakhtar Donetsk scoring a late winner against Hoffenheim, Lyon's battling performance did not prove enough to secure progression just yet, with a draw still required from their final group fixture in Ukraine next month.
Cornet was heavily involved from the off, missing the target with a close-range header before turning provider for Memphis Depay, who failed to connect with what should have been a simple finish.
Lyon's dominance continued, Cornet squandering another golden chance when he sliced over from six yards with the goal gaping before hitting the crossbar with a spectacular volley.
Cornet would not be denied again, though, picking out the top-left corner with a curling strike from the edge of the box 10 minutes into the second half.
Lyon's lead was short-lived, the impressive Laporte on hand to head home from David Silva's flick seven minutes later, only for Cornet's low finish under Ederson to put the hosts back ahead nine minutes from time.
But it was Aguero who had the final say when he met Riyad Mahrez's corner, directing a wonderful header into the bottom-left corner to secure a share of the spoils.