Dublin - Ireland kept their hopes alive of a second Six Nations Grand Slam in three years while ending Wales' hopes of a repeat with a deserved 24-14 win here on Saturday.
The Irish outscored the Welsh by four tries to two - gaining a bonus point in the process - with South Africa-born No 8 CJ Stander producing a sublime man-of-the-match performance.
Wales will rue missed chances, notably when Hadleigh Parkes failed to ground the ball over the try-line in the second-half, as their run of eight successive Six Nations wins came to an end.
Ireland winger Jacob Stockdale said his team's "physicality had gone up to the next level".
"In all fairness to Wales, they came and pushed us hard, it's great to get the win," he told ITV.
"We know how good we can be when we're all over our carrying and our breakdown, and it just had to come throughout the game. Once we started to do that, then the tries started coming."
Wales skipper Alun Wyn Jones was left ruing "errors at crucial times".
"There were a series of penalties we thought we should have got more from, but we didn't," Jones said.
"Test rugby's about winning. You can have all the enterprise and all the beauty in the game you like, but ultimately it's about the result."
The opening quarter was dominated by the Irish but time and again having entered the Welsh 22 - Stockdale in particular looking sharp for the hosts - the visitors turned the ball over.
The Irish finally converted a chance when Jordan Larmour broke a poor, high tackle from Nick Tompkins and momentum carried him over the line just before the 20-minute mark for his seventh Test try.
Johnny Sexton sent his conversion well wide in what were increasingly blustery conditions as Storm Ciara moved in on the Irish capital.
The Welsh, who lost in-form wing Josh Adams to what looked like a knee injury, hit back with a delightful move.
Alun Wyn Jones delivered a sublime inside pop to Dan Biggar which carved open the Irish defence.
Biggar off-loaded to Tomos Williams who strode over to touch down for his sixth try for his country and Biggar converted for 7-5.
Williams, though, blotted his copybook by knocking on and from the subsequent scrum Ireland earned a penalty, but opted for the touch, Tadhg Furlong driven over for his fourth try in his last eight Tests from the resulting phases.
Sexton made no mistake with the extras this time, converting for 12-7.
Stander was in superlative form with some superb turnovers, one early in the second-half pivotal to the hosts' next try.
The Irish took full advantage, pulling in the Welsh defence with their aggressive mauling that enabled Josh van der Flier to touch down for only his second try for his country. Sexton converted superbly from the touchline for 19-7 with 48 minutes left on the clock.
For the second game in succession Ireland rode their luck as Parkes failed to apply pressure to the ball when he went over the tryline, Scotland's Stuart Hogg having dropped the ball over the line last week.
The Welsh pounded away at the Irish line but again sterling defence prevented the visitors crossing the whitewash.
That took the wind out of their sails and the Irish set up camp in the Welsh half, nicely eating away at the clock.
Even when the Welsh tried to clear from their 22, marauding Irish players forced them into errors - the 8-4 handling errors count a reflection of the hosts' harassment.
The Irish rounded off in style as Andrew Conway went in in the far right hand corner with less than five minutes remaining. Ross Byrne's conversion went wide but it mattered not a jot.
Wales flanker Justin Tipuric put a better gloss on the scoreline with a last-minute try against a 14-man Ireland side, the impressive Stander having been sin-binned as he attempted another turnover.
15 Jordan Larmour, 14 Andrew Conway, 13 Robbie Henshaw, 12 Bundee Aki, 11 Jacob Stockdale, 10 Johnny Sexton (captain), 9 Conor Murray, 8 Josh van der Flier, 7 CJ Stander, 6 Peter O’Mahony, 5 James Ryan, 4 Iain Henderson, 3 Tadhg Furlong, 2 Rob Herring, 1 Cian Healy
Substitutes: 16 Ronan Kelleher, 17 Dave Kilcoyne, 18 Andrew Porter, 19 Devin Toner, 20 Max Deegan, 21 John Cooney, 22 Ross Byrne, 23 Keith Earls
15 Leigh Halfpenny, 14 George North, 13 Nick Tompkins, 12 Hadleigh Parkes, 11 Josh Adams, 10 Dan Biggar, 9 Tomos Williams, 8 Taulupe Faletau, 7 Justin Tipuric, 6 Aaron Wainwright, 5 Alun Wyn Jones (captain), 4 Jake Ball, 3 Dillon Lewis, 2 Ken Owens, 1 Wyn Jones
Substitutes: 16 Ryan Elias, 17 Rhys Carre, 18 Leon Brown, 19 Adam Beard, 20 Ross Moriarty, 21 Gareth Davies, 22 Owen Williams, 23 Johnny McNicholl