The home side had never previously beaten PSG in eight top-flight attempts and it appeared the game would run true to form when it found itself a goal down through Kylian Mbappe's clinical strike.
But Thomas Tuchel's side was guilty of coasting when in front and were made to pay by strikes from Mounir Chouiar and Jhonder Cadiz either side of half-time.
PSG twice hit the frame of the goal and missed a glut of late chances as it went in search of a leveller that did not arrive, meaning just a third loss of the season in all competitions.
Despite an 18-point deficit between the teams prior to kick-off, bottom club Dijon started the match brightly and tested Keylor Navas through efforts from Julio Tavares and Cadiz.
However, Mbappe gave the visitors the lead against the run of play, delicately lifting the ball over Alfred Gomis after being put in the clear by Angel Di Maria.
But PSG struggled to get going and was pegged back on the brink of half-time, Navas spilling Didier Ndong's low cross into the path of Chouiar for a close-range finish.
Picking up from where they left off, Dijon scored a second 103 seconds into the second half, Cadiz turning Marquinhos before firing the ball through the legs of goalkeeper Navas.
Di Maria squandered two good opportunities to draw PSG level and Mauro Icardi guided a header against the crossbar from six yards.
Leandro Paredes also hit a post with a drive through a sea of bodies but, despite the introduction of Edinson Cavani, there was no way through a resolute Dijon defence.