Montpellier players kept their cool to clinch a maiden Ligue 1 title with a 2-1 win at AJ Auxerre although the match descended into chaos as police were called in after local fans pelted the pitch with flares, tomatoes and toilet paper to interrupt the game three times on Sunday.
Nigeria's John Utaka scored the two goals after relegated Auxerre had opened the scoring through Olivier Kapo.
Montpellier finished the season on 82 points, leading second-placed Paris St Germain, who won 2-1 at Lorient, by three points.
Eden Hazard scored three in his farewell game as third-placed Lille, who will be in the Champions League playoffs next season, beat Nancy 4-1.
Olympique Lyon, who had nothing to gain or lose, finished fourth with a 4-3 defeat by visitors Nice.
Girondins Bordeaux, fifth, secured a Europa League spot with a 3-2 victory at St Etienne.
Dijon and Caen were relegated to Ligue 2 with AJ Auxerre.
"It's incredible, I can hardly find the words," Montpellier keeper Geoffrey Jourdren told Canal + as fans descended on to the pitch to celebrate the title.
"Our only goal was to stay in the top flight and in the end we are champions. I'm going to enjoy it because it will probably be the only time it happens to me."
The joyous celebrations at the end were in stark contrast to the crowd trouble that repeatedly marred the second half of the contest.
Emotions spilled over when Auxerre fans threw tennis balls, toilet paper and tomatoes onto the pitch to cause the first two disruptions.
Referee Said Ennjimi delayed the start of the second half by five minutes and then ushered the players back inside the tunnel after suspending the game again just five minutes after the interval.
However, riot police were called in when the match was halted for the third time in the 70th minute after raging Auxerre supporters threw flares onto the pitch.
With the jeering, whistling and booing fans showing no signs of calming down, the police moved in to evacuate sections of the stands, allowing Montpellier to complete their title charge without any further stoppages.
Montpellier, in only their third top-flight season after a five-year spell in Ligue 2, had climbed up the Ligue 1 ladder thanks to their free-flowing, inspired football and made sure they were rewarded for their hard work and belief on Sunday.
At the Abbe Deschamps stadium, a Montpellier fan's banner read "historical season". It was meant to be one.
The players did not let their fans down even though they fell behind when Kapo beat Mapou Yanga Mbiwa to head home from a Roy Contout corner as Auxerre took the lead after 20 minutes.
The visitors hit back 12 minutes later when Utaka latched on to a Souleymane Camara cross from the right to make it 1-1.
Montpellier showed their composure amid the chaotic scenes erupting around them as Utaka doubled the tally in the 76th minute with a low shot from just inside the box, triggering wild but peaceful celebrations in their corner.
It ended PSG's hopes of winning their first title since 1994 after the Qatar-backed side spent over 80 million euros ($101.78 million) on transfers last summer.
"We have to congratulate Montpellier. We did a good job tonight, we just lacked a little something," said PSG coach Carlo Ancelotti, who took over from Antoine Kombouare last December when the club was leading the table.
"We need to have faith in the future."
PSG were 1-0 down after 28 minutes when some sloppy defending by Zoumana Camara allowed the unmarked Kevin Monnet-Paquet to head home from a Lucas Mareque cross.
That game was also interrupted shortly afterwards for five minutes after PSG fans threw flares on to the pitch.
The visitors levelled on 61 minutes thanks to a close-range goal from Javier Pastore.
Thiago Motta made it 2-1 for PSG when he headed home from a Nene corner 15 minutes from time. But it was all for nothing.