Ligue 1: Bordeaux 3 PSG 2
Rolan struck two minutes from time to consign the French champions to their first defeat in 16 games in all competitions and strike a blow to their hopes of retaining the title.
PSG knocked Chelsea out of the UEFA Champions League on away goals in midweek by drawing 2-2 after extra-time at Stamford Bridge, despite Zlatan Ibrahimovic's first half sending off.
The Sweden international responded by scoring twice against Willy Sagnol's men to cancel out goals from Ludovic Sane and Wahbi Khazri, but Rolan had the final say to enhance Bordeaux's chances of qualifying for the UEFA Europa League.
Former Bordeaux coach Laurent Blanc's 100th game in charge of PSG proved to be one to forget, as he also lost David Luiz and Yohan Cabaye to injury and his side trail Lyon by a point ahead of their game at Marseille later in the day.
Backed by a vocal home crowd, Bordeaux made a bright start as PSG struggled to live with their pace and power.
Diego Contento had a great chance to put them in front when Isaac Kiese Thelin cut the ball back into his path, but the left-back drilled his powerful shot straight at goalkeeper Salvatore Sirigu.
Thelin was proving to be a handful and the Sweden striker turned Thiago Silva before testing Sirigu with a shot from the edge of the penalty area.
Sirigu was unable to prevent Bordeaux from taking the lead 18 minutes in, though, as skipper Sane rose highest to meet a Khazri cross with a header which crept inside the far post.
PSG were rattled, but Ibrahimovic had a great chance to equalise 11 minutes before half-time and was denied by Bordeaux stopper Cedric Carrasso after Thiago Motta picked the striker out with an incisive pass.
Luiz was replaced by Zoumana Camara before the break after picking up an injury as the champions' frustration mounted.
PSG had been comfortably second best in the first half, but they were gifted an equaliser five minutes after the interval courtesy of some calamitous defending.
Mariano's dreadful attempted clearance went straight up in the air and, when Javier Pastore nodded the ball on, Ibrahimovic capitalised on indecision from Tiago Ilori and Carrasso to nip in and poke the ball beyond the keeper and into the net.
Bordeaux still posed a big forward threat and PSG were fortunate when Clement Chantome's strike took a slight deflection before hitting Sirigu in the face.
The unlucky Cabaye then limped off soon after coming on and PSG were behind with 20 minutes remaining when Khazri sliced a volley up in the air and Thelin headed the ball back for him to nod in at the back post.
PSG ought to have been level two minutes later, but Carrasso produced a fine double save to thwart Ezequiel Lavezzi before Ibrahimovic did level after Mariano was adjudged to have upended the Argentine attacker five minutes from time.
There was still one further twist, though, as Mariano made amends by crossing for Rolan to slot home the winner and stun PSG.