Timothee Pembele inadvertently headed a corner into his own net to put the visitors ahead in the 10th minute. However, Neymar, from the spot, and Moise Kean, from a rebound, scored just 68 seconds apart to put the reigning champions in front.
Les Girondins had been knocking at PSG's door by creating numerous chances. They eventually found the breakthrough again, when substitute Yacine Adli scored a sublime first-time volley beyond Sergio Rico.
PSG huffed and puffed for the remainder of the match, even making several attacking substitutions, but couldn't find the match-winning goal.
Bordeaux goalkeeper Benoit Costil deserves plenty of credit too, as he was superb between the sticks. He made seven saves in total, including some crucial ones to deny Kylian Mbappe, Neymar, and Rafinha.
Here's how the PSG players rated on a frustrating night in the French capital.
PSG Player Ratings
Sergio Rico - 6.5/10
Rico must be kicking himself after being unable to find a clean sheet in his rare start. However, there was nothing he could've done about either of the goals, as the ball carried too much momentum on both occasions. He can still be proud of his wonderful block in the dying moments, which prevented PSG from losing.
Alessandro Florenzi - 7/10
Florenzi drove forward with a lot of intent and urgency, but his final ball was always blocked by Bordeaux defenders. Defensively, he was great too, making two tackles, clearances, and interceptions each.
Timothee Pembele - 6.5/10
The 18-year old's PSG debut was off to a forgetful start, as he headed into his own net just 10 minutes in. However, the youngster found his footing thereafter, making three tackles, four clearances, and completing 93% of his passes.
Presnel Kimpembe - 6.5/10
His positioning was questionable at times, but the Frenchman did well to keep out the likes of Josh Maja and Hatem Ben Arfa.
Mitchell Bakker - 7.5/10
Very inspired and energetic performance from Bakker, who laid so many crosses into the box and even made a key pass. He came up trumps defensively too, making three interceptions, including a crucial one towards the end.
Marco Verratti - 7.5/10
The controller at the heart of PSG's midfield, Veratti was the key to getting the ball out of tight spaces, while his distribution skills were phenomenal too. He had 95% passing success, the most amongst all starters today, and also completed the most dribbles by any PSG player with five.
Leandro Paredes - 7.5/10
Like Verratti, the Argentine's sly passing ensured smooth ball progression, completing a game-high of 101 passes, while his duels with Ben Arfa were fun to watch. He even produced a vital block inside the box in the 71st minute to deny Adli.
Rafinha - 7/10
Rafinha made four tackles in the match. However, he was firmly attack-minded today, constantly driving forward to link-up with his attacking counterparts. He was denied twice in quick succession in the 43rd minute when PSG were trailing in the match.
Neymar - 8/10
Neymar cooly dispatched a penalty in the first-half, which brought PSG level. Even though he couldn't find the target again in the match, he proved to be a huge threat with his nimble-feet and defense-splitting through balls.
Kylian Mbappe - 7/10
Kylian Mbappe did his damnedest but couldn't find the elusive 100th PSG goal. His best chance of the night came when Neymar sent him one-on-one with Costil following an excellent through-ball. However, the World Cup-winner somehow contrived to waste the glorious chance. Just not his night.
Moise Kean - 7.5/10
Back on the scoresheet after two goalless outings, Kean put the Parisiens ahead with a rebound from Neymar's effort. It was his sixth goal in all competitions since arriving this summer.
Angel Di Maria - 6/10
He was thrown in to inspire a late goal, but Bordeaux held firm.
Ander Herrera - 6/10
Once again, Herrera's match was all about tackles, making four in all, but he didn't really add much value to the side.
Pablo Sarabia - N/A
He got slightly over 10 minutes to help his side find the winning goal, but the Spaniard was non-existent.
Mauro Icardi - N/A
The Argentine, who'd been out since October 1st with a knee injury, finally made his return to the field but had little time to work his magic.