Wales inflicted more misery on France in Cardiff with a 19-10 win that kept the team unbeaten and on course for the Six Nations title today.
Winger George North scored Wales' only try in a low-quality game and flyhalf Dan Biggar kicked the rest of the points for the hosts, as France lost a fifth straight game against the Welsh and for a fifth time in a row in the Welsh capital.
It was France's first defeat under recently hired coach Guy Noves, after two wins to open the tournament.
A late try by captain Guilhem Guirado salvaged some pride for France, which was 6-3 behind at halftime only to concede 10 points in a three-minute spell early in the second half.
After two victories and a draw, Wales heads to England in two weeks for what could be a virtual title decider.
It was another disappointing game in a competition that has so far offered few moments of brilliance, months after the northern hemisphere failed for the first time to get a team into the Rugby World Cup semifinals.
The French may have arrived in Cardiff on the back of wins over Italy and Ireland but that was by a combined margin of three points, and they struggled to show any of the so-called "French flair" that Noves is looking to restore in the national team.
Their attacks were mostly predictable here, although the Welsh defence was outstanding.
Wales should have held a bigger lead than just three points at halftime, having built up sustained pressure through their forwards in the opening half hour without creating a notable try-scoring chance.
Biggar kicked penalties in the 22nd and 30th minutes, after missing a simple early kick at goal, but France went into halftime in touch thanks to Jules Plisson's penalty following a no-arms tackle by recalled flanker Dan Lydiate just before halftime.
The three minutes at the start of the second half killed off France's chances.
After a third penalty from Biggar in the 43rd, Wales grabbed the crucial try in ultimately farcical circumstances. Off turnover ball, center Jonathan Davies hacked ahead and North sped down the left wing to reach the ball first.
He attempted to kick on for a simple grounding over the line but missed the ball, only for the covering Plisson to inadvertently boot the ball backward and into North's path.
North gleefully picked up and barged his way over. France responded with 12 minutes of solid pressure near Wales' tryline but the Welsh defence was both desperate and brave and Les Tricolores didn't come away with a point.
"We said at halftime that we felt we were really in the game, and that try five minutes into the second half really hurt us," Guirado said.
"Then we had that spell for 10 minutes when we didn't score. If we had scored, I think the end of the match would have been different."
And to rub it in, Wales regrouped and Biggar booted a penalty from nearly halfway for 19-3. Guirado, France's hooker and best player on the night, scored a close-range try in the 78th that came so late it was barely celebrated.
A win at Twickenham would see Wales go to the brink of a fourth Six Nations title under Warren Gatland since he took charge in 2008. Italy is last up for the Welsh.