Both free-kicks arrived in added time of each half in Thursday night's first leg at the Lane.
The first, from a central position fully 35 yards out, sailed over the wall before dipping late past Lyon goalkeeper Remy Vercoutre.
The second, with the clock reading 92.46 of three minutes added time, ripped into the top corner from 22 yards after Bale was fouled as we desperately looked for a winner.
Lyon stunned the home crowd with an amazing goal of their own 10 minutes into the second half as full-back Samuel Umtiti arrowed the cleanest half-volley you'll see into the top corner.
Bale forced a decent save from Vercoutre on 65 minutes but the game looked to be petering out as a draw when the flying winger picked up the baton again in added time.
First, he whipped in a cross that just evaded Lewis Holtby and Emmanuel Adebayor, then he forced a fine save from Vercoutre to his left and then the grand finale for a 2-1 lead going into the second leg in France on Thursday week, February 21.
Andre Villas-Boas made five changes from the team that started against Newcastle United on Saturday.
Brad Friedel was back in goal for Hugo Lloris and there were three changes in defence with Jan Vertonghen, William Gallas and Benoit Assou-Ekotto all returning. Emmanuel Adebayor was back up front with Bale playing just off him, Clint Dempsey on the left.
Lyon lined-up with five across the middle - including ex-Spur Steed Malbranque - but it was far from a defensive system with Alexandre Lacazette and Lisandro from the wide positions and Gueida Fofana all looking to support front man Bafetimbi Gomis.
The first chance of note arrived for Bale in the ninth minute, a tricky volley that he sliced over from Kyle Walker's cross.
Dejan Lovren rose well at the far post but headed Malbranque's corner straight at Friedel and at the other end, Mousa Dembele threaded through superbly for Adebayor but the striker fired wide after taking the ball in his stride.
There was a gasp of disbelief in the 37th minute when Bale missed the target from six yards. It was the best move of the half as Aaron Lennon stepped over Gallas' pass to allow Walker to race to the right byline. The full-back measured his cross to perfection but Bale, trying to side-foot home, must have caught the ball on his heel and missed the target.
It was a different story nine minutes later. Dembele was brought down in a central area and Bale was soon lining-up the free-kick, some 35 yards from goal. He struck the ball over the wall and it dipped so quickly, Vercoutre must have wondered what had just happened.
Ten minutes into the second half and were all thinking the same thing.
Gallas did well to glance away a dangerous cross from Malbranque but the ball ran out to Umtiti, who walked onto a half-volley that flew into the top corner like a missile. It was unstoppable.
Lyon, who started the second half in a 4-4-1-1 formation with Lisandro pushed up to support Gomis, switched back immediately to 4-5-1 but forced a fine save from Friedel in the 63rd minute as Lacazette beat four players before letting fly from 20 yards.
Holtby added a spark after replacing Dempsey on 67 minutes but for all our good intentions, it looked like we were going to travel to France at 1-1 in the tie.
But a last effort in injury time, sparked by Bale, was rewarded when the Welsh international was upended just outside the box, right of centre.
Fourteen seconds remained when he pulled the trigger - and who knows how important it will be both in the context of the tie and the competition.
Spurs (4-4-2): Friedel; Walker, Gallas, Vertonghen, Assou-Ekotto; Lennon (Sigurdsson, 79), Dembele, Parker (Livermore, 90+2), Bale; Adebayor, Dempsey (Holtby, 67). Unused subs: Lloris, Caulker, Dawson, Naughton.
Lyon (4-5-1): Vercoute; Reveillere, Bisevac, Lovren, Umtiti; Lacazette, Malbranque (Grenier, 83), Gonalons, Fofana, Lisandro (Ghezzal, 89); Gomis. Unused subs: Lopes, Kone, Ferri, Dabo, Benzia.
Yellow cards: Spurs - Walker. Lyon - Umtiti, Fofana.
Goals: Spurs - Bale (45+1), (90+3). Lyon - Umtiti (55)
Referee: Mr Alves Garcia.