Goals from Nuno da Costa and Stephane Bahoken gave the home side all three points against the Ligue 1 giants, who had levelled through Kylian Mbappe in the first half.
It is PSG's first defeat since a 3-1 loss to Nice on April 30, after a run of 25 matches in all competitions, and means their lead at the top will be cut to seven points if Marseille beat Montpellier on Sunday.
Head coach Unai Emery started without Edinson Cavani, Marco Verratti or Thiago Silva in the line-up, with a Champions League clash against Bayern Munich looming on Tuesday, and they found it difficult to get going against Thierry Laurey's well-drilled side.
It was Nuno who broke the deadlock, steering a fine header home from an unmarked position in the penalty area, but PSG improved before half-time and levelled thanks to Mbappe's fifth league goal of the season.
Javier Pastore hit the post as PSG looked for a second but it was Strasbourg who snatched the decisive goal through Bahoken, and the home side, who went through bankruptcy only six years ago and were playing in the third tier as recently as 2016, held on for a famous victory that lifts them to 14th.
Mbappe was tasked with leading the PSG attack, with Cavani only making the bench, but the former Monaco man failed with an attempted chip and a back-heel effort early on.
Nuno showed a far more clinical touch in the 13th minute, though, powering a header past Alphonse Areola from inside the penalty area after Dimitri Lienard's free-kick from the left picked him out totally unmarked.
PSG were looking rather lifeless going forward, although Angel Di Maria arguably should have done better when he shot right-footed past the left-hand post after a defence-splitting pass from Neymar.
Di Maria at least hit the target with his next chance at the end of a fine move involving Mbappe and Adrien Rabiot, but the effort lacked power coming from his weaker foot and Bingourou Kamara saved comfortably.
However, four minutes before the break, PSG found the equaliser. Neymar released Rabiot into the penalty area down the left and his low cross was steered high into the net by Mbappe.
It was Pastore, keeping his place in the starting line-up from the Troyes win, who nearly bagged PSG's second either side of half-time. First, the Argentine hit the inside of the post with a clever turn and shot inside the area, before racing clear only to find the side-netting less than a minute after the restart.
But 64 minutes in the visitors were shocked once again. A routine goal-kick was flicked on by Nuno and Bahoken raced in behind the PSG defence before firing high past Areola from just inside the area.
Cavani and Verratti came on as PSG pushed for a leveller but it was Yuri Berchiche who came closest, his attempt being blocked from close range after a brilliant Neymar run, with Strasbourg dealt a blow when keeper Kamara was forced off after some lengthy treatment.
The injury led to nine minutes of stoppage time but PSG's pressure in the dying minutes yielded nothing better than Presnel Kimpembe's wild slice over the crossbar from six yards after a fine save from substitute keeper Alexandre Oukidja, as Emery's side suffered their first defeat of 2017-18 and gave something of a boost to their closest rivals in the title race.