France international Fekir drilled the ball over Benoit Costil with his weaker right foot after just 10 minutes .
France international Fekir drilled the ball over Benoit Costil with his weaker right foot after just 10 minutes having spotted the Bordeaux goalkeeper well off his line.
Fekir has assumed extra responsibility at Lyon this season, taking over as captain following the departures of Alexandre Lacazette, Corentin Tolisso and Maxime Gonalons.
"For the goal I didn't think twice. I saw the keeper up the pitch and it was instinctive," said Fekir, after netting for the third time in as many matches this term.
Netherlands full-back Kenny Tete marked his full debut by netting Lyon's second on 23 minutes when he volleyed in a free-kick from fellow Dutchman Memphis Depay.
But the hosts saw Sergi Darder dismissed for a second yellow card on 36 minutes after the Spaniard caught former Lyon midfielder Jeremy Toulalan with a raised boot.
Malcom reduced the deficit shortly before half-time, rifling home from 25 yards via a wicked deflection off Mariano Diaz after the Brazilian's initial free-kick was blocked.
Lyon withstood sustained pressure as Bordeaux twice threatened an equaliser through Danish midfielder Lukas Lerager.
Bertrand Traore then curled in a superb free-kick on 74 minutes for his first goal since arriving from Chelsea to seemingly leave Lyon heading for a third successive win.
But Lerager clawed a goal back two minutes from time with a composed finish, and Malcom hammered in his second of the afternoon with another thumping strike from distance to earn a point for Bordeaux in a dramatic finale.
"There were great goals for the fans but for us it's a big negative point because we led 3-1 with 10 minutes to play... It's hugely frustrating," said Lyon keeper Anthony Lopes.
Elsewhere, Dutch international Wesley Sneijder made his Ligue 1 debut as Nice beat Guingamp 2-0 to collect their first points of the season.
Goals either side of half-time from Alassane Plea and Remi Walter did the job for Lucien Favre's side, while Mario Balotelli made his return from injury as a substitute.
Saint-Etienne made it three straight wins without conceding to kick off the new season as Bryan Dabo scored a brace in a 3-0 win over newly-promoted Amiens.
Emiliano Sala's late strike gave Claudio Ranieri his first win since taking over at Nantes, as they overcame a first-half red card for Chidozie Awaziem by winning 1-0 at Troyes, while Montpellier were held 1-1 by Strasbourg and a late penalty snatched Dijon a 2-2 draw at Rennes.
Monaco shrugged off the absence of wantaway star striker Kylian Mbappe on Friday as skipper Radamel Falcao's late goal secured a 1-0 victory at Metz that saw them set a new French top-flight win record.
Leonardo Jardim's reigning Ligue 1 champions have started the season with three wins in a row, while Monaco earned their 15th successive victory going back to February to surpass the previous mark of 14 set by Laurent Blanc's Bordeaux in 2009.
Neymar is set to make his home debut for Paris Saint-Germain against Toulouse on Sunday following his world record 222 million-euro move from Barcelona.