Samuel Umtiti looked like he had earned a draw for Lyon when he smashed home a stunning half-volley equaliser in the 55th minute, but once again Bale came to the rescue for Spurs.
Andre Villas-Boas has a point when he compares his star man to Real Madrid marksman Cristiano Ronaldo.
Bale, who scored twice to beat Newcastle on Saturday, brought great relief to his manager with the winner as his team will now not require an away goal in Lyon next week to make the last 16 of a competition the Spurs boss wants to win so much.
Tottenham put Lyon under pressure from the off and Villas-Boas prowled on the edge of his technical area urging his players to take advantage of their domination.
Umtiti was being given a torrid time at left-back by Aaron Lennon, but Remy Vercoutre remained untested in the Lyon goal.
The away side penetrated the Spurs box for the first time in the 14th minute and they should have had a penalty when Jan Vertonghen tripped Bafetimbi Gomis, but the referee waved play on.
Stirred by the near miss, Spurs upped the pressure on the away end. Mousa Dembele cut out three Lyon defenders with a brilliant slide-rule pass, but Adebayor thumped his first-time shot wide.
Bale then missed a sitter from six yards but made up for that howler with the Spurs opener just before the break.
Alexandre Lacazette hacked down Dembele 35 yards out and Bale lashed a dipping drive which left the beaten Vercoutre dumbfounded.
Lyon flew out of the blocks in the second half and equalised thanks to Umtiti’s stunning striker.
William Gallas thought he had cleared the danger when he glanced former Spurs midfielder Steed Malbranque’s excellent cross clear, but the ball fell to Umtiti, who hit a peach of a first-time half-volley straight in to the top corner past a stunned Brad Friedel.
Lacazette almost doubled the lead six minutes later when he beat three Tottenham defenders, but veteran Friedel demonstrated the reflexes of a 20-year-old to tip the shot over.
Villas-Boas introduced Lewis Holtby to add more energy to his side, but Bale remained his biggest threat.
The flying Welshman galloped past Anthony Reveillere in the dying stages, but his team-mates could not keep up with him so there was no one to tap in after he had fired the ball across the six-yard line.
He continued to pile forward and found a way through in injury time but Vercoutre saved well.
There was to be one last twist in the tale, however. Captain Maxime Gonalons felled Bale and he picked himself up before firing a beautiful curling shot past the French goalkeeper to send the home crowd into ecstasy.
TOTTENHAM: Friedel, Walker, Gallas, Vertonghen, Assou-Ekotto, Dembele, Parker (Livermore 90), Lennon (Sigurdsson 79), Dempsey (Holtby 67), Bale, Adebayor.
LYON: Vercoutre, Reveillere, Lovren, Bisevac, Umtiti, Gonalons, Fofana, Lacazette, Malbranque (Grenier 82), Lopez (Ghezzal 88), Gomis.
Referee: Pedro Proenca (Portugal).