The France Under-20s were crowned Grand Slam champions after they claimed a flattering 23-13 victory over Mike Ruddock's Ireland side, who leaked 10 points in the final eight minutes in Tarbes.
The Ireland Under-20s were on the cusp of a famous victory when they won a kickable penalty in the 71st minute, but replacement out-half Ross Byrne put his effort wide.
France grasped back control of the scoreboard two minutes later when the impressive Baptise Serin, who finished with 13 points, kicked them back in front.
They added some late gloss in the form of a converted try from replacement flanker Jean-Blaise Lespinasse, the score being awarded by television match official Jim Yuille.
The late collapse should have take away from what was an excellent collective display by Mike Ruddock's youngsters, particularly in the second half when replacement flanker Frankie Taggart touched down.
These sides will meet again in June's IRB Junior World Championship in New Zealand and Ireland will be confident of exacting revenge after running the hosts close here.
Ireland lost ground despite having the early possession, with Conor McKeon missing an opportunist drop goal attempt but they managed to hit the front with five minutes gone.
Yacouba Camara was pinged for taking a player out in the air and out-half McKeon - starting his first Six Nations game - hammered home an excellent penalty effort from outside the 10-metre line.
French scrum half Serin landed the levelling kick in the 11th minute, punishing a Cian Kelleher infringement, and they began to look dangerous on breaks despite Ireland's continuing control of possession and territory.
Flanker Rory Moloney was just held up over the French line after an incisive run in the 22, but a powerful scrum from the hosts helped to relieve the pressure.
Full-back Kelleher was hauled down on the right having linked with Peter Robb, before France enjoyed a spell of pressure entering the second quarter with flanker Camara coming to the fore.
They forced their way over the whitewash in the 28th minute, a muscular lineout maul seeing hooker Romain Ruffenach crash over in the left corner. Serin added the conversion for a 10-3 lead.
Ireland almost registered an immediate response as they wrestled back possession and pressed just a couple of metres out. They swung the ball wide where Adam Byrne was denied by Camara in the left corner.
Strong carries from Ruffenach and fellow front rower Tommy Raynaud sounded alarm bells in the Irish defence, with an important turnover and kick downfield relieving the pressure.
Good competing and harrying from Alex Wootton lifted the siege even further before France, with captain Francois Cros making the hard yards, missed a kickable penalty with Serin striking the left hand post.
Flanker Moloney had to have a facial wound treated and Belfast Harlequins clubman Taggart came on in his place temporarily.
France soon gobbled up turnover ball to almost conjure up their second try. After Ruffenach's classy offload led to Kylan Hamdaoui kicking towards the Irish posts for Serin to chase but Kelleher did very well to recover and prevent a certain try.
From the resulting drop-out, Adam Byrne reached high to retain possession for Ireland who ended the first half in encouraging fashion with a leg-pumping carry from number 8 James O'Donoghue.
Ruddock opted to change his half-backs early in the second period, bringing on the UCD pairing of Ross Byrne and Nick McCarthy for McKeon and the industrious Jack Cullen.
Serin widened the gap to 10 points with a well-struck penalty and an excellent offload form Arthur Iturria unleashed Pierre Justes down the left touchline. The full-back kicked over the top, but replacement McCarthy got back to deny him with a last-ditch challenge.
Ireland showed good continuity as Peadar Timmins, who put in a well-placed kick downfield, captain Sean O'Brien, Peter Dooley and O'Donoghue all carried to good effect.
Adam Byrne and Kelleher also countered from deep, the latter breaking up towards halfway and a subsequent scrum penalty gave Ireland a decent platform outside the French 22.
They won a further penalty with Brandon Fajardo ruled offside and Ross Byrne mopped up with the three points for a 13-6 scoreline.
Serin missed an opportunity to respond and an excellent aerial take by Kelleher and touchfinding kick from Ross Byrne got Ireland back into the hosts' 22, as they continued to grow in stature.
Dooley, who skittled two defenders on a bulldozing run, then popped a brilliant offload to the returning Taggart who succeeded in touching down under pressure from the covering Hamdaoui.
It was a richly deserved score given Ireland's improvements around the pitch, with Max Abbott marshalling a solid lineout and the scrum holding its own against a beefy French pack.
Ross Byrne converted to the left of the posts to bring Ireland level and they were catapulted forward once more after winning a scrum against the head. Adam Byrne stretched his legs along the left touchline before France closed the space down.
McCarthy was interferred with at a ruck, leading to that 71st minute penalty. It was a kick Ross Byrne would have nailed nine times out of ten, however on this occasion he sent the ball wide and France had a let-off.
Given what was at stake - their country's first U-20 Six Nations title since 2009 - the home side showed a good deal of composure to set up Serin for the lead score with seven minutes remaining.
The strong carrying Camara and Cros stepped up again as France held the territorial advantage late on.
Felix Lambey was hauled down a metre out as the French went in search of a final try. Fellow replacement Lespinasse duly picked and dived for the line - some replays suggested that he had been held up by Irish hands, but the TMO ruled otherwise and Serin converted for a 10-point winning margin.
Pierre Justes (US Dax); Kylan Hamdaoui (AS Montferrand), Xavier Mignot (CS Bourgoin Jallieu), Francois Bouvier (St Toulousain), Lucas Blanc (Union Bordeaux Bègles); Brandon Fajardo (FC Auscitain Armagnac), Baptiste Serin (Union Bordeaux Bègles); Oleg Ishchenko (Montpellier HRC), Romain Ruffenach (Biarritz Ol), Tommy Raynaud (RC Narbonne Med), Arthur Iturria (AS Montferrand), Jean-Baptiste Singer (AS Montferrand), Jean Thomas (US Colomiers), Yacouba Camara (St Toulousain), Francois Cros (St Toulousain) (capt).
Replacements used: Ivan Roux (RC Toulonnais) for Blanc (22-26 mins, blood sub), Jean-Blaise Lespinasse (Union Bordeaux Bègles) for Thomas (50), Simon Courcoul (AS Montferrand) for Raynaud (52), Felix Lambey (Lyon OL U) for Singer (57), Florian Ardiaca (AS Beziers H) for Ruffenach (60), Youssef Amrouni (AS Montferrand) for Ishchenko (72), Roux for Mignot (78). Not used: Thibault Daubagna (Section Paloise), Francois Fontaine (AS Montferrand).
Cian Kelleher (Lansdowne/Leinster); Alex Wootton (Garryowen/Munster), Dan Goggin (Young Munster/Munster), Peter Robb (Old Belvedere/Leinster), Adam Byrne (UCD/Leinster); Conor McKeon (Lansdowne/Leinster), Jack Cullen (Bruff/Munster); Peter Dooley (Lansdowne/Leinster), Max Abbott (Cork Constitution/Munster), Rory Burke (Cork Constitution/Munster), Sean O'Brien (Galwegians/Connacht) (capt), Ross Molony (UCD/Leinster), Peadar Timmins (UCD/Leinster), Rory Moloney (Buccaneers/Connacht), Jack O'Donoghue (UL Bohemians/Munster).
Replacements used: Frankie Taggart (Belfast Harlequins/Ulster) for Moloney (36 mins-half-time, blood sub; 56), Nick McCarthy (UCD/Leinster) for Cullen, Ross Byrne (UCD/Leinster) for McKeon (both 44), Sean McNulty (UCD/Munster) for Abbott, Denis Coulson (Lansdowne/Leinster) for Dooley, Oisin Heffernan (Lansdowne/Leinster) for Burke, David Busby (Queen's University/Ulster) for Wootton (all 78). Not used: Stephen Gardiner (Lansdowne/Leinster).
Lloyd Linton (Scotland)