Lyon thought it had done enough to advance to the Europa League's Round of 16, but Mousa Dembele struck in the 90th minute to help Tottenham collect a 1-1 draw at the Stade de Gerland on Thursday, sending the English club through 3-2 on aggregate.
Gareth Bale's brace in the first leg gave Tottenham the aggregate lead heading into the return match in France, but Samuel Umtiti's away goal at White Hart Lane still gave Lyon a great chance to advance.
Lyon appeared to have taken that opportunity in the second leg as Maxime Gonalons headed home a set piece in the 17th minute to give the French side the edge.
With the aggregate score level and Lyon holding the tiebreaker on away goals, the Ligue 1 club looked certain to advance as time dwindled. But Dembele got Tottenham on equal terms on the night with a moment of individual brilliance on the stroke of 90 minutes, brushing a defender aside at the top of the before firing a powerful left-footed strike past Remi Vercoutre.
Tottenham will take on Inter Milan in the next round after the Italian side cruised into the Round of 16 with a 3-0 defeat of CFR Cluj on Thursday, winning the tie 5-0 on aggregate. Fredy Guarin bagged a first-half brace in the second leg.
Another English club was able to advance in the Europa League's set of early matches on Thursday. After a scoreless opening match, Shola Ameobi converted a second-half penalty to see Newcastle claim a 1-0 win over Metalist Kharkiv.
Stuttgart was held to a 1-1 home draw in the first leg of its Europa League tie with Genk, but the Bundesliga club managed to advance with a 2-0 win in the return match on Thursday thanks to goals from Arthur Boka and Christian Gentner.
The German side will take on Lazio in the next round after the Serie A club picked up a 2-0 win over Monchengladbach on Thursday. Antonio Candreva and Alvaro Gonzalez scored the goals, sending Lazio through with a 5-3 aggregate score.
Liverpool fell just short of a sensational comeback at Anfield on Thursday. Despite winning the match 3-1, the Reds still bow out of the competition due to its 2-0 loss in the first leg. Zenit St. Petersburg advances on away goals to face Basel in the next round.
Ajax was eliminated from the Europa League in the cruelest fashion, falling to Steaua Bucurest on penalties. Steaua Bucurest claimed a 2-0 win on the night to level the aggregate score, and following a scoreless period of extra time, the Romanian club emerged victorious from the ensuing spot-kicks.
Also on Thursday, Falcao's late goal in Atletico Madrid's 1-0 win over Rubin Kazan was not enough to see the holders advance as the Russian club went through 2-1 on aggregate, Viktoria Plzen upended Napoli in a 5-0 aggregate win over the Serie A club, Hannover and Anzhi played to a 1-1 draw in Germany to see the Russian club advance 4-2 on aggregate, Fenerbahce rode Baroni Cristian's penalty to a 1-0 victory over BATE Borisov to advance,Levante cruised to a 1-0 win and a 4-0 aggregate defeat of Greek side Olympiakos, Benfica dispatched Bayer Leverkusen with a 2-1 victory and 3-1 aggregate score, Bordeaux narrowly advanced thanks to a 1-0 home win over Dynamo Kyiv to go through on a 2-1 aggregate score and Basel advanced with a 1-1 draw against Dnipro after picking up a 2-0 win in the opening leg.