Yoan Gouffran and Henri Saivet scored the goals as Bordeaux stopped Rennes making it three Ligue 1 wins on the trot and drew level with their opponents in the table.
Rennes went into the game in fourth place and looking to close the gap on the top three but Bordeaux had other ideas and recorded their first win since mid-November after previously scoring just three goals in six league games.
QPR manager Harry Redknapp was in the crowd to reportedly watch Rennes' Yann M'Vila but he did not have the best of nights, making the mistake which led to the opening goal.
In the first minute Rennes' Mevlut Erding was picked out by Julien Feret but his shot on the turn was blocked by Henrique and Romain Alessandrini shot wide of the left post from the rebound.
M'Vila set up Romain Danze after 17 minutes but his shot from 25 yards was not held by Cedric Carrasso, with Henrique putting the ball out for a corner.
Rennes continued to dominate the first half and Feret whipped in a free-kick from the left but Erding's shot was into the side netting.
But despite dominating possession Rennes could not make any of their chances tell.
Bordeaux made them pay after 57 minutes when M'Vila gave the ball away and Fahid Ben Khalfallah released Gouffran, who beat the advancing Benoit Costil to open the scoring.
The visitors doubled their lead nine minutes later when Mariano put Saivet through, the half-time substitute holding off Onyekachi Apam before firing a right-footed shot in off the underside off the crossbar.
Bordeaux nearly added to their total with six minutes to go as Henrique rose above Jean-Armel Kana-Biyik and powered in a header which Costil saved at the expense of another corner.
But Bordeaux had already done enough to take all three points as Rennes paid the price for failing to find the target in the first half.