Needing just a draw to win the French title, defending champion Paris Saint-Germain was humiliated 5-1 at Lille on Sunday.
PSG needed a home win against Strasbourg to clinch an eighth French title last weekend, only to draw 2-2.
This time, PSG striker Kylian Mbappe had two goals disallowed for offside. PSG lost two players to injury and had its goal scorer Juan Bernat sent off—all in a frantic first half.
But the way PSG capitulated in the second half, when it let in four goals, exposed glaring weaknesses in the team, notably on free kicks.
PSG's defense was unable to contain Lille forward Nicolas Pepe, who scored the second goal and then set up the fourth and fifth to underline Lille's unselfish teamwork.
PSG needs a win at Nantes on Wednesday to guarantee the league title, although a draw would likely be enough at the end of the season given PSG's huge advantage on goal difference.
Lille strengthened its claim to finish in outright second place and qualify automatically for next season's Champions League.
The win had the crowd on its feet and moved the northern French side eight points clear of third-placed Lyon. The players formed a circle and danced jubilantly in front of their fans after the final whistle, while PSG's players trudged off despondently.
Mbappe gave a strong verdict on his team's shortcomings.
''We will win the league, but you have to lose in the right way. You can't let in three, four or five,'' Mbappe told Canal Plus television. ''That's not normal. We have to show more personality, that's one of our faults and we have to fix that. When you play like beginners ... We have to stop losing like that.''
Earlier, Saint-Etienne kept the pressure on Lyon and Marseille in the race for third spot with a 3-0 home win against Bordeaux.
Right back Mathieu Debuchy scored twice late in the second half, after forward Wahbi Khazri opened the scoring from the penalty spot in the 56th minute.