Paris Saint-Germain suffered their third Ligue 1 defeat of the season when they wasted a one-goal lead to lose 2-1 at lowly Dijon on Friday.
PSG have 27 points from 12 games and lead second-placed Nantes, who travel to Girondins de Bordeaux on Sunday, by eight points.
Dijon, who have 12 points, are now 18th after starting the game at the bottom of the table.
Despite starting with their formidable trio of Mbappe, Mauro Icardi and Angel Di Maria, PSG played too casually and were eventually punished for their sloppiness.
Mbappe opened the scoring when he flicked the ball past Alfred Gomis after collecting a perfect through ball from Di Maria.
Thomas Tuchel’s side, however, were caught snoozing on the stroke of halftime as Keylor Navas parried a cross into the path of Chouiar, who pounced on the ball to equalize.
Two minutes into the second half, Cadiz powered his way into the box before slotting the ball between Navas’s legs to put the hosts ahead.
Tuchel replaced midfielder Leandro Paredes with striker Edinson Cavani in the 71st but the Uruguay international did little to show that he could regain his place in the starting line-up at the expense of Icardi.
“It’s a big upset, we had a great first half and had the chance to score early in the second half,” said Dijon captain Julio Tavares.
“We had to be at 200% and we were.”
PSG’s Marquinhos, wearing the skipper’s armband in the absence of the ill Thiago Silva, admitted his side lacked aggression.
“It’s football. When you’re not present physically, not aggressive enough, that’s what happens,” the Brazilian said.
“We have to bounce back right away, we have to do much better. We should not stay in our comfort zone. We win when we’re efficient, in front and at the back.
“We can’t play like we did tonight.”
PSG next host Club Brugge in a Champions League group game on Wednesday.