Lyon are now only four points adrift of Rennes in the race for Champions League qualification, after the third-placed outfit's 1-0 loss to Marseille on Friday.
Jimmy Briand capitalised on Joachim Andersen's dreadful back-pass to put Bordeaux ahead in the 15th minute, but Lyon struck twice in three second-half minutes.
Maxwel Cornet's deflected effort drew the visitors level five minutes after the break before Dembele, reportedly coveted by numerous English Premier League clubs, netted his 11th Ligue 1 goal of the season.
Former Arsenal centre-back Laurent Koscielny thought he had snatched Bordeaux a point late on, but saw his effort ruled out by VAR for offside.
Reigning champions and league leaders Paris Saint-Germain face Robert Moreno's Monaco on Sunday, bidding to restore their seven-point advantage over Marseille at the top of the table.