Paris Saint-Germain needed an injury-time goal to rescue a 2-2 draw away to struggling Caen on Saturday, and it was enough to extend PSG's lead at the top of the French league to two points after Montpellier's 1-0 loss at Nancy.
PSG has relied on late goals to either secure a win or salvage a point in its last five matches, and coach Carlo Ancelotti's team was fortunate to get a draw as its vulnerability at set-pieces was again exposed by an inspired Caen team.
"It's a good result for us, because we could have lost," Ancelotti said. "Caen caused us a lot of problems and stopped us developing our game. We were better in the second half and managed to equalize.
"It's an important point for us in terms of the league table. But we'll have to play better next time."
Montpellier, which would have moved back to the top with a win, finished the game with nine players as center half Vitorino Hilton and midfielder Benjamin Stambouli were sent off.
Lyon won 1-0 away to Saint-Etienne and jumped over its fierce local rival to move into fourth place, with striker Bafetimbi Gomis settling the match with an 81st-minute winner.
Marseille lost 2-1 at home to Dijon, its fifth consecutive league defeat and sixth straight in all competitions, all but ending its hopes of finishing among the top three places and earning a Champions League berth next season.
Marseille is eight points behind third-place Lille, which plays its game in hand at home to Valenciennes on Sunday.
"It's still mathematically possible," Marseille defender Souleymane Diawara said. "But, given this result, it's going to be extremely difficult for us."
Last weekend, PSG needed a Kevin Gameiro goal deep into injury time to win 2-1 at Dijon, and PSG labored throughout against Caen.
"It's a mixture of relief and frustration tonight," defender Christophe Jallet said. "We didn't play well enough to win. Once again we managed to equalize right at the end."
Pierre-Alain Frau put Caen in front against his former team in the 54th minute, but record signing Javier Pastore equalized two minutes later with his ninth league goal this season.
Frau, who hit the crossbar as Caen wasted three early chances to score, got on the end of Livio Nabab's cross and beat goalkeeper Salvatore Sirigu at the second attempt.
Caen hardly had time to regroup before Pastore cut in down the right and dribbled past three players, but then enjoyed a slice of luck as his deflected shot left goalie Alexis Thebaux flat-footed.
PSG almost took the lead a minute later when Gameiro's angled shot hit the crossbar, but Caen scored against the run of play when center half Thomas Heurtaux headed home Frederic Bulot's corner with defender Alex failing to pick up his run.
PSG has conceded 10 goals in the last five games, the majority from free kicks and corners.
Jallet saved PSG when he chested down Jeremy Menez's cross from the right and volleyed home to preserve Ancelotti's unbeaten record since taking charge in January.
At Nancy, meanwhile, Hilton was red-carded late in the first half for hacking down Bakaye Traore.
Stambouli joined Hilton on the hour when he fouled midfielder Lossemy Karaboue, and defender Andre Luiz scored the ensuing penalty.
Montpellier coach Rene Girard praised Nancy but felt his team was hard done by.
"Nancy played better than us," Girard said. "The first sending off for Hilton was logical, but the second one (Stambouli) wasn't justified.
Montpellier striker Olivier Giroud, the league's top scorer with 17 goals, hit the crossbar in the closing stages with a rasping shot.
Marseille finally put an end to four league games without scoring thanks to topscorer Loic Remy's early penalty, but the visitors equalized through Younousse Sankhare, and winger Gael Kakuta grabbed Dijon's winner with a late penalty.
It was Kakuta's fourth league goal since joining on loan from Chelsea in January.
In other matches, it was: Auxerre 0, Evian 2; Bordeaux 1, Ajaccio 1, and Lorient 2, Brest 1.
Striker Cheick Diabate put Bordeaux ahead in the 70th, but defender Yoann Poulard scored late on to earn Ajaccio a crucial point and keep it above the relegation zone.
Goals from Thomas Kahlenberg and Kevin Berigaud moved Evian into 10th spot, three points behind ninth-place Marseille.
Striker Eden Ben Basat gave Brest an early lead with a thumping shot into the top corner, but defender Bruno Ecuele Manga equalized and striker Kevin Monnet-Paquet sealed Lorient's win.
Also Sunday, Rennes hosts Toulouse and Sochaux takes on Nice.