Brice Dulin crossed in injury time to clinch an epic bonus-point win and take the tournament to the final match next weekend, when they play Scotland.
Wales are five points clear at the top, but have now played their final game.
France were down to 14 men after 68 minutes when Paul Willemse was red carded but two Welsh yellows helped them erase a 10-point deficit to win.
Wales picked up a losing bonus point, which means to have any chance of winning the title France must defeat Scotland in Paris next Friday with an attacking bonus point.
It would then come down to points difference, which currently favours Wales 61 to 41.
A fantastic first half saw the two sides locked at 17-17 with Romain Taofifenua and Antoine Dupont’s tries matched by Dan Biggar and Josh Navidi scores.
The second half was even more astonishing, with France second row Willemse red carded for sticking his fingers into the eye of Wales prop Wyn Jones as he savagely – and illegally – cleared him out at a ruck.
But France actually finished with a man advantage for the final eight minutes after Taulupe Faletau and Liam Williams were sin-binned in a pulsating and chaotic finale.
And Wales’ 10-point lead was not enough, as tries from captain Charles Ollivon and Dulin left Wayne Pivac’s side stunned, and relying on Scotland if they are to win the title.
The tournament finale as France host the Scots was due to take place in February, but was postponed because of a Covid-19 outbreak in the French camp.
The late indiscipline proved Wales’ undoing after being outstanding in this department during the tournament with yellow cards shown to the side for the first time in a Six Nations game since 2018.
The defeat is particularly cruel for Wales, who have turned things around in fine fashion under Wayne Pivac after the New Zealander had only won three out of 10 games in his first season in charge.
Wales on the brink of glory
Wales had arrived in Paris with four victories and the Triple Crown in their possession after beating Scotland, Ireland and England.
They fielded a starting side containing 987 caps, their most experienced in history, with 14 of the players having already won a Grand Slam under Pivac’s predecessor Warren Gatland.
France were never going to roll over though. Team manager Raphael Ibanez stated his side were glad to have returned to Paris and this was epitomised by the hosts’ ferocious start.
Prop Cyril Baille was driven over the Wales line, but scrum-half Gareth Davies managed to deny the prop. This only delayed events, as Taofifenua crossed and Matthieu Jalibert converted.
Wales responded immediately with a brilliant up-and-under and catch from full-back Williams, laying the foundations for the attacking scrum from which Gareth Davies and Louis Rees-Zammit exchanged passes from a clever set move.
Scrum-half Davies was tackled brilliantly over the line by Ollivon to deny a try, but Wales remained patient as they scored their record 18th try in the tournament.
Biggar crashed over following a clever angle, with the fly-half also converting.
French flair flourished when Dulin’s chip was collected by Jalibert, who released the imperious, supporting scrum-half Dupont for the second score.
The stunning start continued, Wales retaliating as flanker Navidi burrowed over after relentless attacking from the visitors to level the scores after a frantic first quarter.
The visitors’ ability to retain possession in attack was rewarded when a France transgression allowed Biggar to slot over a penalty.
Jalibert was forced off with a head injury to be replaced by Romain Ntamack, whose first contribution was to level the scores at 17-17 on the stroke of half-time to complete a fantastic first 40 minutes.
Pulsating second half
Biggar extended the lead with a penalty before replacement scrum-half Tomos Williams was immediately involved in Wales’ third try.
After a clever chip from Justin Tipuric, Adams skilfully hacked on before Williams gathered to release winger Adams to cross.
Referee Luke Pearce gave an on-field try decision and television match official Wayne Barnes said he could not overrule that after deeming there was no Williams knock-on and that Adams had grounded the ball.
Biggar’s conversion opened up a 10-point advantage before Ntamack reduced the deficit with his second penalty.
Rees-Zammit almost scored a spectacular try in the corner, but Barnes decided his flying finish had seen the ball grounded on the base of the corner flag.
However, prop Mohamed Haouas had collapsed a driving maul in the build-up and was yellow-carded, although Pearce did not believe the offence merited a penalty try. Biggar slotted over three points instead.
TMO Barnes was a busy man. First he was called on again with France hooker Julian Marchand held up by the defensive efforts of Adams, Tomos Williams, Navidi and Faletau.
Then, after Dulin had appeared to cross for France’s third try, Barnes alerted referee Pearce to foul play by Willemse on Wales prop Jones.
The replays showed the France lock had made contact with Jones’ eyes during a ruck clear-out to earn his red card.
France refused to submit and the chaos continued with Faletau and Williams yellow-carded as the hosts held a one-man advantage going into the final eight minutes. Faletau was punished for being offside, while Williams dived off his feet at a ruck.
Ollivon crossed with four minutes remaining, Ntamack converting to reduce the deficit to three points.
Wales fans were desperately hoping their side could hold on, but replacement lock Cory Hill conceded a penalty in the final minute as Dulin eventually broke the hearts of a nation.
Man of the match: Brice Dulin
France: Dulin; Thomas, Vakatawa, Fickou, Penaud; Jalibert, Dupont; Baille, Marchand, Haouas, Taofifenua, Willemse, Cretin, Ollivon (capt), Alldritt.
Replacements: Chat for Marchand (69), Gros for Baille (59), Atonio for Alldrit (60-70), Rebbadj for Taofifenua (22), Jelonch for Cretin (51), Serin, Ntamack for Jalibert (30), Vincent for Thomas (57), Serin for Dupont (74).
Wales: L Williams; Rees-Zammit, North, J Davies, Adams; Biggar, G Davies; W Jones, Owens, Francis, Beard, AW Jones (capt), Navidi, Tipuric, Faletau.
Replacements: Dee for Owens (68), Smith for W Jones (77), Brown for Francis (68), Hill for Beard (57), Botham for Navidi (77), T Williams for G Davies (49), Sheedy for Biggar (68), Halaholo for J Davies (68).
Referee: Luke Pearce (England)
Touch judges: Matthew Carley (England) and Christophe Ridley (England)
TMO: Wayne Barnes (England)