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.
What it means: Lyon lose ground on City
Manchester City's routine win over Shakhtar Donetsk means they now top Group F, with Lyon a point back in second. Hoffenheim have given themselves a fighting chance of making the knockout stages and know that a win in the reverse fixture in France next month will pull them level with Bruno Genesio's side on five points.
Depay delivers on the big stage
Netherlands international Depay has divided opinion during his career, but a first Champions League goal in three years demonstrated his importance to Lyon. His composed finish looked to have delivered a precious away win for his side until they let slip their advantage in the closing stages.
Vogt of no confidence
The Hoffenheim captain's decision to return Baumann's pass ended disastrously. Traore took full advantage of the panic-stricken defender's weak effort, scoring a gift-wrapped opener for the French side.
Key Opta Facts:
- Hoffenheim have become the fourth German side in Champions League history to fail to win their opening three matches (D1 L2), after Hamburg in 2000-01, FC Schalke in 2001-02 and Borussia Monchengladbach in 2015-16.
- Lyon are unbeaten in their last six matches in the Champions League (W2, D4), their longest such run in the competition since February 2007.
- Lyon have now won just one of their last seven Champions League matches against German opposition, drawing two and losing the other four.
- Bertrand Traore is just the fourth player from Burkina Faso to score a Champions League goal, after Bakary Kone, Yssouf Kone and Ousmane Sanou.
- Lyon have had seven different scorers in this season's Champions League (Maxwel Cornet, Nabil Fekir, Tanguy Ndombele, Leo Dubois, Moussa Dembele and Memphis Depay). Excluding own goals, this is more than any other side in the competition so far.
Hoffenheim return to Bundesliga action on Saturday with the visit of Stuttgart, while Lyon travel to Angers in Ligue 1 on the same day.
|O´Neill planning ´next adventure´ after leaving Republic of Ireland|
|Premier League: Brexit should not be used to weaken squads|
|16 balls, 14 boundaries, 74 runs - Shahzad steals show in T10 opener|
|WATCH: Patrice Evra plays with poultry in bizarre Thanksgiving message|
|Packers star Rodgers pledges $1m to California wildfire relief|
|Klitschko worried for boxing´s Olympic future|
|Lewandowski back in Bayern training as Davies joins new team-mates|
|Hogg fit for much-changed Scotland|
|Former Arsenal striker Bendtner faces 50 days in prison over taxi driver assault|
|Athletic extend Muniain contract to 2024|
|Kohli ready to move on after narrow defeat|
|PSG to wait for Neymar, Mbappe injury updates|
|Icardi hopeful of Messi return for Copa America|
|Cavs star Love expects to be out until 2019|
|Ricciardo terrified by Renault switch|
|Under-fire Taylor calls for PFA structure review|
|McLaren reveal one-off livery for Alonso´s last race|
|Samir Nasri training with West Ham amid reports of free transfer|
|Guardiola warned over derby clash comments|
|Stoinis sees Australia to T20 win against India|
|Modric not deserving of Ballon d´Or – Cavani|
|F1 Raceweek: Alonso ends on 312 races, Raikkonen a Ferrari great - Abu Dhabi GP in numbers|
|Neymar made a mistake leaving Barcelona for PSG, insists Edmilson|
|O´Neill and Keane leave Republic of Ireland after relegation|
|WATCH: Maxwell hits Spidercam with sliced shot in Australia-India T20|
|Rafinha wants Barca exit due to ´crazy´ Valverde selections – Mazinho|
|France to wear rainbow laces in support of Thomas following attack|
|You need to stop this – Cavani slams media over supposed Neymar feud|
|Anderson rested for final Test|
|Tite applauds Seedorf for Cameroon´s style of play|
|Griezmann not obsessed with Ballon d´Or|
|Neymar feels injury is ´nothing serious´|
|Durant says Green altercation won´t impact his free agency|
|Morris blasts drama surrounding Wizards: It´s messed up|
|Scaloni thrilled for Dybala, Icardi|
|Green´s last-second shot keeps Raptors atop East standings|
|Deschamps praises Griezmann for Giroud gesture|
|Warriors star Curry improving, still out at least three more games|
|Chile 4 Honduras 1: Sanchez, Vidal shine for La Roja|
|Argentina 2 Mexico 0: Icardi, Dybala score first international goals|
|Mickelson calls Tiger the greatest of all time|
|Durant fined $25,000 for using inappropriate language|
|Fizdale isn´t concerned about Knicks´ losing streak|
|No particular concern for Mbappe – Deschamps|
|PSG team-mate Choupo-Moting hopes Neymar injury is not serious|
|McLeish marvels at stylish Scotland´s promotion success|
|Draw proves Poland can play well without Lewandowski – Brzeczek|
|Giggs: Wales let themselves down|
|Sarachan ´moved USA forward´ in interim spell|
|Mickelson lays $200,000 bet with Woods for first hole|
|Dolphins QB Tannehill to start against Colts|
|Murcia edge out Banvit, Bonn crush Opava|
|Neymar injury not serious, says doctor|
|Mancini: Italy ahead of schedule|
|France 1 Uruguay 0: Giroud hits the spot after Mbappe injury blow|
|Portugal 1 Poland 1: Milik penalty salvages precious point as Danilo sees red|
|Italy 1 United States 0: Politano snatches late winner for Mancini´s men|
|Scotland 3 Israel 2: Forrest hat-trick seals Nations League promotion|
|Brazil 1 Cameroon 0: Richarlison fills Neymar´s boots as skipper suffers injury|
|France & PSG star Mbappe suffers shoulder injury|
|Albania 1 Wales 0: Gunter´s night spoiled by Balaj|
|Leeds and Manchester United to meet in friendly|
|Outspoken Smith leaves Cavaliers|
|PSG star Neymar injured for Brazil|
|Juventus midfielder Can back in training after surgery|
|Rams-Chiefs rollercoaster was the NFL´s modern-day masterpiece|
|Ronaldo an AC Milan target in 2017, confirms Fassone|
|Farah could get back on track at Tokyo Olympics|
|PSG still waiting on Alves and Kurzawa|
|Atalanta reject Gasperini to AC Milan speculation|