PSG, who face Monaco at the Stade de France on Saturday, were torn apart by the bottom club who picked up just their fourth league win in 35 games.
Grenoble went ahead on 26 minutes when Laurent Batlles fired home with a powerful 25-metre drive and Nicolas Dieuze added a second on the stroke of half-time. Goals after the break from Nassim Akrour and Danijel Ljuboja rubbed salt in PSG's wounds.
Monaco were held 1-1 at home by Le Mans.
Niger striker Moussa Maazou came off the bench to cancel out Mathieu Dossevi's 10th-minute opener.
Monaco keeper Stephane Ruffier picked up a thigh injury during the warm-up and was replaced by Yohann Thuram-Ulien as a precautionary measure, the club from the principality said.