France kept their Grand Slam hopes alive with a five-try victory over Wales under the Friday night lights.
The visitors were largely dominant as Wales struggled to match their high tempo and offload game.
The French half-backs starred, with Jessy Tremouliere and Laure Sansus running in three of the tries.
There were also scores from Caroline Boujard and Chloe Jacquet, while Sioned Harries scored a late consolation for the hosts.
France have now won 18 of 21 meetings with Wales, and should England beat Ireland on Sunday it sets up a title decider in the final round.
For newly-professional Wales, it was a second heavy defeat having lost 58-5 to England in round three.
But they can be encouraged by the scoreline, having conceded 50 points or more in their last three meetings with the French.
France struck on eight minutes when player of the match Sansus made a darting run through the Welsh defence to cross under the posts, Tremouliere adding the easy extras.
The visitors continued to assert their dominance, winning penalty after penalty as Wales struggled to find an exit.
Wales were dealt a blow on 20 minutes when captain Siwan Lillicrap was forced off the field for a head injury assessment.
France took advantage of the disruption and Tremouliere was once again at the heart of the second try.
She put through a pinpoint cross-field kick for Boujard, who outmuscled her fellow wing Jasmine Joyce in the aerial battle to ground the ball.
Tremouliere was on target from the touchline to extend their lead.
Wales enjoyed a brief spell of possession, but were caught out on the counter-attack as flying full-back Jacquet turned on the gas to run in their third try.
France could have wrapped up the bonus point minutes later with another counter-attack, but the ball out to Boujard slipped through her grasp.
They did not have to wait long for a fourth try, though, as Sansus once again proved elusive when she peeled away from the pack to cross for her sixth of the campaign.
The physical battle started to take its toll on Wales as Gwenllian Pyrs and Joyce left the field for head injury assessments.
Wales did have a chance to get a score before the break, but the French defence held firm to take a 26-0 lead down the tunnel.
Wales came back out fighting and enjoyed a 10-minute spell of pressure as France began to cough up penalties, but they lacked the clinical edge to get across the whitewash.
Wales coach Ioan Cunningham began to ring the changes, but the impact from the bench could not spark the comebacks that had been seen over Ireland and Scotland.
Momentum shifted back to France and Tremouliere got a deserved try after some good work from the forwards, converting her own effort to add to her individual points haul.
The game lost its tempo as both sides continued to empty their benches, but France looked comfortable in defence.
Wales ended the match with a flourish and a deserved score courtesy of Harries' outstretched hand after one of their barn-storming driving lineouts.
It gave the Cardiff crowd of 2,794 crowd something to cheer as they headed home.
Wales captain Siwan Lillicrap said:
"It was so important that we finished on a high tonight, we can take that into next week before we face Italy.
"We have got to look at ourselves as to why we start a little bit slow, we do not start with that momentum that we are bringing 30 to 40 minutes into a game.
"If we can be an 80-minute team we are going to compete with great sides like France, who are third in the world and a great outfit.
"It shows that we have got it in us, but we have got to do it for a full 80.
"The points difference compared to where we were is huge progress, we have only been professional for a small amount of time.
"This is the start of our journey and that scoreline reflects where we are going. I am proud of the girls."
Wales: Kayleigh Powell; Lisa Neumann, Hannah Jones, Robyn Wilkins, Jasmine Joyce; Elinor Snowsill, Keira Bevan; Gwenllian Pyrs, Carys Phillips, Cerys Hale, Natalia John, Gwenn Crabb, Alisha Butchers, Bethan Lewis, Siwan Lillicrap (capt)
Replacements: Kelsey Jones, Cara Hope, Donna Rose, Alex Callender, Sioned Harries, Ffion Lewis, Kerin Lake, Niamh Terry.
France: Chloe Jacquet; Caroline Boujard, Maelle Filopon, Gabrielle Vernier, Marine Menager; Jessy Tremouliere, Laure Sansus; Annaelle Deshayes, Agathe Sochat, Clara Joyeux, Celine Ferer, Madoussou Fall, Julie Annery, Gaelle Hermet (capt), Romane Menager
Replacements: Laure Touye, Coco Lindelauf, Assia Khalfaoui, Audrey Forlani, Emeline Gros, Alexandra Chambon, Morgane Peyronnet, Emilie Boulard.