Ireland’s dream of a Grand Slam came crashing down as they were overpowered by a fine France performance at Stade de France on Saturday evening.
Les Blues were simply too strong and too precise for Andy Farrell’s side as they fell to a six-point defeat in Saint-Denis.
Tries from Mack Hansen, Josh van der Flier and Jamison Gibson-Park weren’t enough for Ireland as Melvyn Jaminet punished Irish indiscipline with 20 points from the boot.
All is not lost for Ireland, who did enough to earn a losing bonus point, but they’ll be reliant on a favour from England, Wales or Scotland to have a shot at a first title in four years.
Only France can now claim the Grand Slam after Wales, one week on from their thumping in Dublin, turned over Scotland in Cardiff in the afternoon game.
France led from the second minute as captain Antoine Dupont scampered over the line from a wonderful Romain Ntamack offload and never surrendered their lead thereafter.
They led by 15 points early in the second half but two tries in five minutes, both converted by the excellent Joey Carbery, who was in for the injured Johnny Sexton, brought it back to a one-point game.
It proved to be a false dawn, however, as France scored a second try through Cyril Baille and found an extra gear in the final five minutes to close the game out.
Still, Ireland will see it as a missed opportunity as they had Les Bleus on the ropes with half an hour to go, only for their inability to control the breakdown to cede the momentum.
Warning signs were there straight from kick-off as, despite claiming Ntamack’s kick, Gibson-Park’s clearance was loose and France took a quick lineout.
A superb carry from prop Uini Atonio left Caelan Doris on the mat and allowed Ntamack the space to put in a skip pass for Dupont to break through the gap and touch down.
Jaminet put over the extras and was metronomic with the boot the entire first half as he added a penalty moments later to make it 10-0 to the home side inside seven minutes.
Incredibly, Ireland struck right back from the restart and it was Jaminet, so accurate from the tee, who made the mistake.
Carbery stood up a restart that hung in the air for an age and Jaminet was caught under it, allowing Hansen to claim a flying catch, land on his feet and sprint over the line.
The out-half added the extras - he wouldn’t miss a kick all night - and there were 17 points on the board with less than nine minutes played.
That fast start could never be maintained and, despite Ireland having lots of the ball, only a Jaminet penalty from a Paul Willemse poach added to the score in the next 27 minutes.
Ireland had issues with the interpretation of Angus Gardner throughout the first half but received little change from the Australian ref.
Andrew Conway was questionably penalised for contact in the air and James Ryan denied a penalty when he seemed to be taken out in the air by Cameron Woki.
And the visitors lost Rónan Kelleher after 25 minutes with what looked to be an arm injury, though he had an able replacement in Leinster teammate Dan Sheehan.
It was discipline in defence that really hurt Ireland, however, as Jaminet added two quick penalties close to half-time as France took a 12-point lead into the break.
The Perpignan full-back, who will sign for Toulouse at the end of the season, added another soon after the break as Andrew Conway was judged marginally offside.
Ireland were always going to enjoy a purple patch and it arrived from the restart as Hansen took down Anthony Jelonch and the flanker held on to give up the penalty.
The resulting lineout was taken by Doris and France were unable to slow it down, van der Flier wriggling free to crash over the line, Carbery adding the conversion.
Five minutes later, Ireland went over for their third try as a messy lineout came good, Gibson-Park side-stepping a French defender to dive over the right-hand post.
Ireland, having been beaten up for 45 minutes, were back within a point but it would be only four minutes before breakdown indiscipline cost them again.
Doris was stripped of the ball in a ruck inside his own five-yard line, and prop Baille burrowed over. Jaminet missed the conversion and the lead remained at six.
Tired bodies and tired minds make for tired mistakes, and both teams were guilty of them in the final quarter.
Ireland managed to take it back within three seven minutes from the end as France were caught off their feet and Ryan opted to direct Carbery to go for the posts.
It proved a questionable decision as Ireland would hardly touch the ball again, and were grateful to an outstanding effort from Sheehan to hold up Jaminet over the line.
The full-back did put over an easy penalty, though, as Doris had infringed off his feet and Ireland had 90 seconds to conjure something.
Despite replacement nine Maxime Lucu bizarrely kicking away possession with seconds remaining, Hugo Keenan did likewise and Ireland’s last chance was gone.
France: Melvyn Jaminet; Damian Penaud, Gael Fickou, Yoram Moefana, Gabin Villière; Romain Ntamack, Antoine Dupont (captain); Cyril Baille, Julien Marchand, Uini Atonio; Cameron Woki, Paul Willemse; Francois Cros, Anthony Jelonch, Gregory Alldritt.
Replacements: Peato Mauvaka, Jean-Baptiste Gros, Demba Bamba, Romain Taofifuena, Thibaud Flament, Dylan Cretin, Maxime Lucu, Thomas Ramos.
Ireland: Hugo Keenan; Andrew Conway, Garry Ringrose, Bundee Aki, Mack Hansen; Joey Carbery, Jamison Gibson Park; Andrew Porter, Ronan Kelleher, Tadhg Furlong; Tadhg Beirne, James Ryan (capt); Caelan Doris, Josh van der Flier, Jack Conan.
Replacements: Dan Sheehan, Cian Healy, Finlay Bealham, Iain Henderson, Peter O’Mahony, Conor Murray, Jack Carty, Robbie Henshaw.