Memphis Depay thought he had given Lyon a precious Champions League away win before Joelinton plundered a late leveller for Hoffenheim.
Joelinton scored in stoppage time as Hoffenheim left it late to grab a dramatic 3-3 draw against Champions League rivals Lyon on Tuesday.
Julian Nagelsmann's side had looked to be on their way to a second Group F defeat after Memphis Depay had coolly slotted home after 67 minutes, but substitute Joelinton had other ideas, tapping into an empty net right at the death of a pulsating game.
Bertrand Traore had put the French side ahead after 26 minutes before two goals from Andrej Kramaric had Hoffenheim on course for their first ever Champions League win.
Tanguy Ndombele and Depay then struck for the visitors against the run of play, but Joelinton's dramatic late intervention secured a deserved point for his side.
Kevin Vogt's moment of madness gifted the visitors a 26th-minute lead as he made a mess of returning Oliver Baumann's short goal-kick, allowing Traore to nip in, nudge the ball away from the advancing Hoffenheim keeper and slot into an empty net.
The home side responded well to that setback, though, and were level just six minutes later when Kramaric controlled Pavel Kaderabek's header on his chest at the back post and fired past Anthony Lopes from close range.
Hoffenheim picked up where they left off after the restart, Kramaric again taking down a cross on his chest and clipping a half volley past Lopes from 10 yards for his second of the contest in the 47th minute.
Despite the Bundesliga team’s dominance, Lyon pulled level after 59 minutes when Ndombele latched onto Traore's incisive through ball and unleashed a fizzing effort from an acute angle that Baumann could only deflect into the roof of his own net.
Depay then thought he had secured all three points for his side eight minutes later, steering past Baumann with his left foot after latching onto a long ball.
Hoffenheim's hopes looked to have ended when Vogt inexplicably headed wide from six yards out late on, only for Joelinton to convert Nico Schulz's low cross in the second additional minute.