PARIS (AP) " Just when it seemed Monaco had gifted Paris Saint-Germain three points, Portuguese midfielder Bernardo Silva popped up with a precious late goal to earn a 1-1 draw that kept his side top of the league.
Despite winning its previous five matches, PSG failed to shine in a largely scrappy contest that did not live up to the pre-match hype and where Monaco played the better football in Paris.
Defending champion PSG, however, still looked set for a win when defender Djibril Sidibe shoved winger Julian Draxler in the back in the 81st minute, and Edinson Cavani converted the penalty for his 21st league goal of the season and 29th overall in 28 games.
Two minutes into second-half stoppage time, PSG's defense made the basic error of backing off too much, giving Silva space to advance and strike a fizzing low shot from just outside the penalty area.
"Luckily I scored, and I'm so happy to have helped the team. It's not just one point for us, but two points lost for PSG," Silva said on Canal Plus television. "We're going to do everything we can to stay in first place."
Monaco has scored more league goals than any other team in Europe's top five leagues " 65 in 22 matches. It leads Nice on goal difference with PSG three points back in third place. Monaco is at home to Nice next Saturday.
Monaco forced two corners inside the first three minutes as manager Leonardo Jardim's side stamped its authority on the game, with midfielder Thomas Lemar going wide with a free kick and Brazilian midfielder Fabinho drawing a save from Kevin Trapp in the first half.
Cavani volleyed over from the edge of the penalty area in the 11th and Brazilian winger Lucas forced goalkeeper Danijel Subasic into a smart save late in the first half.
"I don't think we played very well," PSG midfielder Blaise Matuidi said. "But you have to admit that we were up against a very good side."
Monaco's top scorer Radamel Falcao was kept quiet until early in the second half, forcing a save from Trapp " who then saved from Lemar.
Trapp seemed to pull a leg muscle and was replaced by Alphonse Areola, but he was beaten by Silva's shot through a crowd of players.
"Someone should have closed (Silva) down but he struck the ball well," PSG captain Thiago Silva said. "It's a pity because we really pushed hard. But in my opinion they are the best team in France right now."
NICE 3, GUINGAMP 1
Mario Balotelli scored his ninth league goal of the season " all of them at home " as Nice beat Guingamp 3-1.
The Italian center forward sealed the win with a late goal after being set up by right back Arnaud Souquet, and Balotelli was also involved in the second goal scored by midfielder Jean Michael Seri.
Striker Alassane Plea opened the scoring in the 11th minute after a superb team move.
Seri then fed Valentin Eysseric, who cleverly back-heeled the ball into the path of Plea and he rounded the goalkeeper for his 11th league goal this season. Seri has been one of Nice's best players and his return from the African Nations Cup, where he was playing for Ivory Coast, was immediately beneficial.
Balotelli used his strength back to goal to hold the ball up, allowing Seri the freedom to push forward and he found the net in the 38th.
Veteran forward Jimmy Briand replied for Guingamp midway through the second half. But Balotelli had the last word as he ran onto Souquet's pass and confidently stroked the ball past Swedish goalkeeper Karl-Johan Johnsson in the 87th.
TOULOUSE 0, SAINT-ETIENNE 3
Saint-Etienne warmed up for next weekend's home derby against local rival Lyon with a comfortable win.
Striker Nolan Roux scored with a penalty in each half and winger Kevin Monnet-Paquet got the other goal.
In the chase for a Europa League spot next season, Saint-Etienne is up to fifth place behind Lyon.
Toulouse midfielder Wergiton Somalia was sent off at 1-0.
This story has been automatically published from the Associated Press wire which uses US spellings