Lyon had the best of the first half and took the lead after 32 minutes.
Memphis Depay burst down the left. When he was fouled near the corner flag, he leaped up and chipped a quick free kick into the goalmouth.
Bordeaux had the chance to clear but the ball bounced off centre back Laurent Koscielny and fell to Karl Toko Ekambi who rammed it home from the edge of the six-yard box.
Bordeaux showed more aggression from the start of the second half and were rewarded after 55 minutes when they scored with their first shot on target.
Yacine Adli won the ball on the edge of the Lyon penalty area and rolled a pass to Remi Oudin whose low deflected cross fell to Samuel Kalou.
The Nigerian smashed a shot over Sinaly Diomande's challenge and into the net.
That sparked the game into life. Both teams had chances in an increasingly frantic finish before right back Dubois won the game.
Collecting an over-hit cross in space near the right edge of the Bordeaux penalty area, Dubois slashed the ball back into the goalmouth. The ball swerved, struck the far post and flew into the net.
Lyon jumped from third to first, one point ahead of Paris Saint-Germain, who visit Lorient, and Lille who host Dijon, both on Sunday.