Iestyn Harris’ men were 12 points down at the end of an opening quarter dominated by the Irish but hit back to post eight tries by eight different players and score 42 unanswered points.
The 13-man code returned to Pontypridd and, for an hour, the Dragons served up some terrific rugby for the animated home crowd to defy the slippery, muddy conditions.
With stand in skipper, prop Jordan James, setting a terrific lead after Ben Flower was ruled out, the young Welshmen rallied with teenage full back Elliot Kear and busy hooker Neil Budworth other standouts.
Yet it looked all so different after Andy Kelly’s Irish settled well at the start and looked set to spoil the Welsh hopes of silverware in Bridgend next week.
Pat Richards converted and it got even better for the visitors when they decided to run a power play on the last tackle, James Haley freeing Wigan star Richards whose superb chip back onto the inside saw Finn go over.
The Welsh scored a terrific try to take the lead for the first time two minutes into the second half.
More indiscipline from the Irish, who became increasingly frustrated with French referee Thierry Alibert, in their own quarter set the position for clever hands to send Ashley Bateman over in the corner.
Two minutes later, more pressure on the Irish line saw Geriant Davies drive over from close range and he was given the try by video referee Ben Thaler on the basis of benefit of the doubt as he slid across the whitewash.
James gained his due reward with the crucial try that put his side three scores ahead just after the hour, again crashing over from close range by the post as the Irish defence on their own line began to melt.
Ireland will play a ranking game against Lebanon at the Brewery Field next Sunday as part of a triple header Finals Day.
Wales: Tries: Webster (32), L. Williams (38), R. Williams (47), Bateman (55), Davies (57), James (62), Kear (65), Dudson (73) Goals: White 5 from 8
Ireland: Tries: St Hilaire (8), Finn (18) Goals: Richards 2 from 2
Man of the match: Jordan James
Half time: 12-12
Referee: Thierry Alibert