Surprise-package Montpellier march on
Midfielder Karim Ait-Fana twisted his way past two defenders in the area to score with an angled shot early in the second half. Marseille midfielder Benoit Cheyrou doubled the advantage by heading a corner into his own net 15 minutes from time.
Montpellier, back in the top flight this season after a long spell in the second division, moved to 42 points from 22 games, behind champions Bordeaux who looked a pale shadow of their best in a goalless home draw with lowly Boulogne.
The leaders, who created chances but looked clumsy in front of goal, even survived a few scares against the northerners, second from bottom in the 20-strong league.
Bordeaux striker Marouane Chamakh found the net with a header from a free-kick in added time but was ruled offside.
"We know we're not at the same level as Bordeaux but we resisted well and even had a few opportunities," Boulogne coach Laurent Guyot told French television channel Canal Plus.
"Of course, we would have liked to win but we must remain humble. A draw here at Bordeaux is a very good result for us."
The loss saw Marseille slip two places to sixth, level on 36 points with Olympique Lyon who host Paris Saint-Germain on Sunday.
Third-placed Lille, who had lost their last three matches in all competitions, bounced back with a 1-0 win over Racing Lens in a northern derby.
Belgium winger Eden Hazard lived up to his reputation as one of Ligue 1's most exciting players by resisting the challenge of two defenders to score Lille's winner after 23 minutes, putting them eight points off the pace.
There was crowd trouble following another derby, won 3-2 by Monaco over Riviera rivals Nice who had Argentine defender Renato Civelli sent off for a second booking in added time.
Visitors Nice had their chances but despite a brave effort they lost and some 200 of their supporters invaded the pitch at the final whistle. They were pushed back by security. No injuries or arrests were immediately reported.