Mario Balotelli hit his 14th league goal of the season and Ricardo Pereira scored a cracker as Nice blew a big hole in Paris Saint Germain's title defence with a 3-1 win on Sunday.
PSG are chasing a third consecutive sweep of domestic honours but finished the weekend three points behind Ligue 1 leaders Monaco, who also have a game in hand, and played the last moments in Nice with only nine men after they had two men sent off in quick succession.
Nice, still unbeaten at home this season, stay third but are now just three points behind PSG and both have only three games left to play.
Wayward Italian striker Balotelli, restored to Nice's starting line-up after a typically sticky spell of injury and suspension, prodded over from close range on 20 minutes after PSG's offside trap failed.
He should have done better and six minutes later he did, shrugging off a weak challenge before unleashing an unstoppable strike from the edge of the box that whistled into the bottom corner.
Unai Emery's PSG, who came into the top-of-the-table encounter on an excellent unbeaten run since their Champions League collapse at Barcelona early last month, enjoyed plenty of the ball in the first half but did little with it.
If Balotelli's strike was good, Pereira's just minutes after half time was even better, as the Portuguese winger curled the ball beautifully into the top corner.
The reigning champions appeared down and out and the game turned increasingly ugly, with several skirmishes breaking out.
Balotelli, 26, appearing to enjoy his football again after poor spells at Liverpool and Milan, was never far from the thick of it.
He was in a running row with PSG striker Edinson Cavani, the league's top poacher with 31 goals this season, and then his attempts at showboating with the ball came to an abrupt end when Blaise Matuidi cut him down and was booked.
PSG were in danger of losing their heads as well as their title, but out of nowhere grabbed a lifeline when defender Marquinhos helped in a header from his fellow Brazilian Thiago Silva after a corner sparked disarray in the Nice box on 64 minutes.
It was now all PSG, but Nice were hanging on and after Thiago Motta was sent off for violent conduct for the visitors in the 90th minute, Nice went up the other end and made it 3-1 with a close-range Anastasios Donis header.
In the dying minutes winger Angel Di Maria became the second PSG player to see red when he dived in deliberately and recklessly on Nice midfielder Arnaud Souquet.
Monaco, who face Juventus in a Champions League semi-final first leg on Wednesday, beat Toulouse 3-1 on Saturday with teenage striking sensation Kylian Mbappe again among the goals.
Prolific Monaco -- they average nearly three goals a game in the league -- are pursuing a first French league crown since 2000.