Nice dealt a blow to PSG's Ligue 1 title hopes with victory in a game which came to life in the closing 15 minutes.
Zlatan Ibrahimovic appeared to have earned the big spending capital side a draw in the 82nd minute, six minutes after Eric Bautheac had given Nice the lead.
However, Valentin Eysseric's impressive right-foot volley won it for Nice, inflicting a first away defeat of the season on Carlo Ancelotti's men.
Nice started brightly at the Stade Municipal du Ray and in the eighth minute Christophe Jallet needed to move sharply to clear Dario Cvitanich's header off the line, with goalkeeper Nicolas Douchez beaten.
Two minutes later Bautheac released Timothee Kolodziejczak, whose low shot was kept out by Douchez.
PSG responded in the 19th minute when Jallet freed Ibrahimovic, who shot inches wide.
And the visitors threatened again on the half hour when David Ospina needed to beat his best to deny Ibrahimovic, with Ezequiel Lavezzi putting the rebound over the crossbar.
Nine minutes into the second half and Ospina was busy again, keeping out another shot from Ibrahimovic.
Douchez blocked a 25-yard Bautheac free-kick on the hour, before Ospina produced a stunning save to keep out a Jeremy Menez volley midway through the half.
Bautheac broke the deadlock when he netted from close range after good work by Cvitanich on the left, only for Ibrahimovic's powerful free-kick to bring the visitors level six minutes later.
However, Nice scored the game's decisive third goal in the 86th minute when on-loan Monaco midfielder Eysseric spectacularly fired home Fabrice Abriel's cross with his right foot.
A dismal night for PSG was capped three minutes into injury time when Blaise Matuidi picked up a second yellow card for a foul on Ospina and was sent off.