Wales signed off the 2018 Six Nations with a 14-13 victory over France as Warren Gatland's side secured second place behind Grand Slam winners Ireland.
Following the champions' 24-15 win against England at Twickenham earlier on Saturday, Wales and France went into the Cardiff clash knowing success would see them seal the runners-up spot.
It looked as though the Principality Stadium crowd could be treated to a classic as both teams crossed in the opening quarter of the game, but thereafter the contest became a more attritional affair where territory and discipline were king.
Liam Williams capitalised on Francois Trinh-Duc's mistake to score the first try, but Les Bleus recovered smartly and Gael Fickou surged over to keep his side within touch.
Leigh Halfpenny and Maxime Machenaud traded penalties either side of the break and heading into the final 15 minutes the match was still delicately poised at 14-13 in Wales' favour.
France ought to have gone ahead only for Trinh-Duc to miss a simple shot from the tee and that squandered opportunity ultimately proved decisive as Wales held on to ensure their campaign ended on a high note.
It was a poor miss from Trinh-Duc, who had drawn first blood by slotting a drop-goal in the fourth minute, but the fly-half was then at fault as the hosts struck back immediately.
With a number of Les Bleus stood wondering if the kick-off had travelled 10 yards, Scott Williams sent a grubber through which Trinh-Duc allowed to bounce over his head and behind him, where Liam Williams picked up and slid over.
Halfpenny missed the extras, but nailed two subsequent penalties to stretch Wales' lead, which was cut to one point midway through the half as Trinh-Duc put Fickou through a gaping hole.
A high shot allowed Halfpenny to dissect the posts again and although Machenaud missed with the last action of the half he was more accurate from the tee nine minutes after the interval.
Liam Williams was punished for offside 12 minutes from time, leaving Trinh-Duc with a relatively simple kick to give France the lead, but the fly-half pulled his effort to the left as the home faithful breathed a sigh of relief.
And that relief turned to delight at the final whistle as, with the clock beyond 80 minutes, Aaron Shingler stole a line-out which allowed Gareth Davies to thump into touch and get the celebrations started.
Key Opta Stats:
- Wales have won six of the last seven games between these sides in the Six Nations. Five of those seven have been decided by single-figure margins.
- Wales have finished as runners-up in two of the last three editions of the Six Nations.
- Francois Trinh-Duc opened the scoring with a drop goal, the first time a French player had slotted one in the Six Nations since Lionel Beauxis in 2012 against Scotland.
|Sri Lanka grind sorry South Africa into the Colombo dirt|
|Mina ready to reject offers for Barcelona stay|
|Guardiola tells Sane to use World Cup snub as motivation|
|Golovin team-mate Chepchugov drops hint over Chelsea move|
|Reed & Rose make early charges on Carnoustie ´moving day´|
|Sancho ´had a point to prove´ in Dortmund´s win over Manchester City|
|Li hits back at AC Milan owners Elliott as bitter split continues|
|Crusaders cruise past Sharks to book Hurricanes semi-final|
|Rabiot would be a great signing for Barcelona – Xavi|
|JaVale McGee: Lakers are going to be ´one of the most fun teams ever´|
|Dolphins owner Ross: National anthem policy a ´placeholder´|
|Boga leaves Chelsea for Sassuolo|
|Schurrle in talks to leave Borussia Dortmund|
|Guardiola happy with Mahrez and Man City despite loss|
|Dodgers top Brewers in Machado´s debut|
|Raptors GM apologises to DeRozan after Spurs trade|
|Manchester City 0 Borussia Dortmund 1: Gotze spoils Mahrez´s debut in ICC opener|
|United fans keeping De Gea at Old Trafford – Herrera|
|Keita: I turned down Barca and Bayern for Liverpool|
|Merritt stays ahead as rain halts Barbasol Championship|
|Roma had to sell Alisson to Liverpool, says Totti|
|Donald Trump: Kneeling players should be suspended without pay|
|Cardinals´ Carpenter makes history|
|Nationals pair Strasburg, Zimmerman activated from DL|
|Premier League-linked Plattenhardt feels at home at Hertha|
|Johnson expecting tough Granollers challenge|
|Good Luck at last! Colts quarterback fit for training camp|
|Haase humbles Rublev as Cecchinato charges on|
|Benzema hits back at ´crazy´ De Laurentiis over age jibe|
|Leeds Rhinos finally end winless streak in Super League|
|No freaky Friday for Spieth as he bounces back in round two|
|Double boost for Bouchard in Gstaad|
|Iconic Ronaldo to raise Serie A level - Roma´s Hamm|
|Brighton birthday boy March renews contract|
|Lamela hoping injuries are behind him after signing Tottenham extension|
|Where will I get my massage? - Roma´s Pallotta mocks UEFA ban|
|Rashid struck by Lightning amid speculation over Test recall|
|Major misses a mixed blessing for Fowler and Kuchar|
|Fleetwood, McIlroy and Spieth bare teeth as Kisner and Johnson lead|
|The Open 2018 diary: Fleetwood´s swinging in the rain, but it´s a slog for McIlroy|
|Fees agreed as Fabri closes in on Fulham move|
|Neymar and Mbappe have a very good relationship, claims PSG president|
|Boufal joins Celta Vigo on loan from Southampton|
|Leicester sign Ward from Liverpool amid Schmeichel speculation|
|Kisner philosophical after run-in with the Barry Burn|
|Gattuso unsure of Bonucci future|
|Verdasco, Gasquet advance but Ruud´s run is over in Bastad|
|James to remain at Bayern Munich, says Rummenigge|
|Texans QB Watson expects to be fit for training camp|
|Torpedo Moscow deny cancelling player´s contract over racist abuse|
|Napoli decry Cavani, Di Maria rumours as fake news|
|Kisner feels the Burn, Spieth on the surge|
|Woods: I could have cleaned up my round|
|Lille swoop for free agent Fonte|
|Sagan completes hat-trick after bunch sprint|
|´Amateur´ DFB needs Lahm´s help - Rummenigge|
|Horner expects Ricciardo new deal ´pretty quickly´|
|Diakhaby swaps Monaco for Huddersfield|
|Tottenham´s Lamela signs to 2022|
|Atletico´s Rodrigo excited to wear Simeone´s 14|
|F1 Raceweek: Red Bulls steal show from Mercedes but Ricciardo to start from back|
|Fakhar hits historic double hundred as Pakistan thrash Zimbabwe|
|Roma president Pallotta hit with three-month UEFA suspension|
|Hamburg extend contract of coveted youngster Jann-Fiete Arp|
|Steady start for Kisner as Woods endures mixed day at Carnoustie|
|Zach Johnson: Dustin comparisons are unfair|
|Neymar backs Tite for Brazil despite World Cup failure|
|Vinicius wants to play with ´idol´ Neymar but Perez calms transfer talk|
|One hundred not out for Els at The Open|
|Magnificent Maharaj takes eight wickets to stymie Sri Lanka|