A missed open goal from Raheem Sterling proved pivotal as a Moussa Dembele-inspired Lyon upset the odds to knock Man City out of the Champions League.
Man City cracked the Lyon defence wide open in the early stages, though Sterling’s close-range cutback was cleared by the outstretched leg of a Lyon defender with Gabriel Jesus poised to strike.
Lyon’s first opportunity came from a corner after City’s clearance fell straight to centre-half Marcelo.
The Brazilian chested the ball down and unleashed a fierce low drive that drew a smart stop from Ederson.
Despite ceding the majority of possession to City, Lyon took the lead in the 24th minute.
Karl Toko Ekambi latched onto a lofted through ball after Kyle Walker played the forward onside, with the ball breaking to Maxwel Cornet following Eric Garcia’s last-ditch tackle.
The Ivorian’s accurate first-time finish caught Ederson out at the near post as Lyon took a surprising 1-0 lead.
Pep Guardiola’s men attempted to raise the tempo of their play, and Sterling turned provider for Rodri in a chance the Spaniard should’ve done better with.
Sterling’s fake cross left one defender in his wake and cut the ball back to Rodri, but his shot was scuffed and hit too central to truly trouble the Lyon goalkeeper.
An exquisite pass from De Bruyne then set Sterling away, but his finish like Rodri’s wasn’t sufficient to level the scores as half-time approached.
City once again retained the bulk of possession following the break, but chances from open play were proving difficult to carve out against a resilient and energetic Lyon side.
Kevin De Bruyne stung the hands of Anthony Lopes from a free kick just before the hour mark, but failed to hit the target from an even better position moments later.
The Belgian found the mark at the third time of asking in the 67th minute after neat work set Sterling scampering away down the left.
The England forward found De Bruyne unmarked inside the box and the Belgian duly tucked away first-time to level the scores at 1-1.
Jesus then forced Lopes into a smart near-post save as City got their tails up, but failed to score form an even better chance moments later.
Lyon then hit City on the break and retook the lead through substitute Moussa Dembele, but the goal was not without its controversy.
A VAR check ruled out a possible foul in the build-up, and adjudged a Lyon attacker not to have been interfering with play after the through ball that set Dembele haring down on goal had passed between his legs.
The match then turned on its head as Raheem Sterling somehow missed an open goal from barely six yards, then Lyon tore down the other end minutes later and made it 3-1 through Dembele after Ederson failed to adequately clear the initial shot.
City pushed desperately to get back into the game, but time was always against them as their Champions League campaign came to a close at the quarter-final stage.