Rennes beaten but retain top spot
Rennes, who have 19 points from 10 games, were caught out when Joris Marveaux headed home unmarked from a corner two minutes before halftime.
Montpellier hung on after defender Garry Bocaly was sent off just after the hour. Rennes also finished with 10 men, with Kader Mangane dismissed seven minutes from time.
"Football can be cruel. They scored on their only chance of the game, it's quite unfair," Rennes coach Frederic Antonetti was quoted as saying on daily L'Equipe's website.
St Etienne were one point behind Rennes after striker Emmanuel Riviere salvaged a draw with eight minutes left against Caen, and it would have been victory for Les Verts had Dimitri Payet not missed a stoppage-time penalty.
Promoted Brest continued their surprising run with a 2-0 win at Girondins Bordeaux that lifted them up to third on 18 points.
Romain Poyet headed home from a corner in the sixth minute to put the visitors ahead and Benoit Lesoimier latched on to a Tomas Micola cross from the right to put the result beyond doubt 10 minutes from time.
"It's a deserved win. We could have scored more goals before the break," Brest coach Alex Dupont told reporters.
"We defended very well in the first half. Then we sat back but we also took risks and scored that second goal."
At Rennes, Souleymane Camara came close to doubling Montpellier's lead nine minutes after the break but his volley from inside the area shaved Nicolas Douchez's crossbar.
The visitors then sat back as Bocaly was shown a straight red card for a violent tackle. Montpellier are fifth in the table with 17 points, level on points with fourth-placed Toulouse, who won 3-1 at Sochaux courtesy of a Daniel Congre double and a Mauro Cetto goal.
At Geoffroy Guichard stadium, striker Youssef El Arabi opened the scoring for Caen six minutes from the interval but St Etienne piled the pressure on and were rewarded in the 82nd minute.
Riviere poked the ball home after Caen keeper Alexis Thebaux failed to block Payet's attempt.
Payet, the leading scorer in Ligue 1, failed to convert from the spot in injury time when he sent his penalty over the bar.
Elsewhere, an Issam Jemaa stoppage-time goal gave RC Lens a 1-0 win over Nice, Lens' first win in two months.