Wales shattered Irish hopes of a Grand Slam and simultaneously kept themselves in Six Nations title contention with a gripping win in Cardiff.
Leigh Halfpenny kicked Wales into an early 12-0 lead but three Johnny Sexton penalties cut Ireland’s deficit to 15-9 in a pulsating first half.
Wales defended for long periods after the restart, before replacement Scott Williams scored the crucial try.
A late penalty try gave Ireland hope, but Wales held firm.
If England beat Scotland in Saturday’s late kick-off, they will enter the final weekend as title favourites with their superior points difference in mind.
Ireland, meanwhile, visit Scotland and Wales will be away against Italy.
Wales may only have a slim chance of winning a fifth Six Nations title in 11 seasons, but this dramatic win against Ireland was a significant one.
And after a week where coaches and former players spoke about their worry that rugby was becoming boring, this nerve-shredding humdinger of a match was the perfect riposte for the sport.
As reigning champions and current Six Nations leaders on a 10-match winning streak, Ireland were the marginal favourites for this eagerly anticipated encounter.
Their march to the top of the table had not been universally popular, however, with head coach Joe Schmidt’s pragmatic approach making for a perceived dour domination.
Similar criticisms have been levelled at his counterpart Warren Gatland, who had a point to prove after a crushing defeat in last year’s corresponding fixture.
In a start akin to Ireland’s win over England, Wales suffocated their opponents with a ferocious physicality in defence and ruthless efficiency with the ball.
Seizing the initiative at the breakdown and in the much-vaunted aerial battle, Wales raced into an early 12-0 lead thanks to four Halfpenny penalties.
Ireland eventually composed themselves, however, and after burrowing their way into Welsh territory, two Sexton penalties halved their deficit.
A yellow card to Wales captain Sam Warburton seemed to swing the momentum further in Ireland’s favour, but a Dan Biggar drop-goal cancelled out another Sexton penalty to give Wales a 15-9 half-time lead.
Wales had to delve deep into their well of willpower to hold on to that advantage after the restart, repelling a torrent of Irish pressure with a monstrous display of bloody-minded defending.
When they eventually forced a turnover, their efforts were greeted by the kind of Jurassic roar usually reserved for a World Cup win.
Buoyed by their heroic defending and the sheer noise of the Millennium Stadium, Wales sparked into life as an attacking force as Jonathan Davies made a piercing break in midfield.
Ireland seemed in similarly stubborn mood in defence and initially thwarted the Welsh onslaught, but replacement centre Williams made the breakthrough as he feigned a pass and dived over to prompt more wild celebrations.
Halfpenny missed his conversion, and Wales soon found themselves on the back foot again as Ireland fought back immediately.
A rolling maul rumbled threateningly towards the Welsh try line and, after judging Wales to have brought it down illegally, referee Wayne Barnes awarded Ireland a penalty try.
Halfpenny eased fraying Welsh nerves with a fifth penalty to make it 23-16, but the home crowd’s hearts were in their mouths when Davies was sin-binned for a deliberate knock-on with just two minutes left.
Yet again, however, Wales dug deep to cling on to a victory which keeps intact their slim hopes of being crowned Six Nations champions.
15-Leigh Halfpenny, 14-George North, 13-Jonathan Davies, 12-Jamie Roberts, 11-Liam Williams, 10-Dan Biggar, 9-Rhys Webb; 1-Gethin Jenkins, 2-Scott Baldwin, 3-Samson Lee, 4-Luke Charteris, 5-Alun Wyn Jones, 6-Dan Lydiate, 7-Sam Warburton (captain), 8-Toby Faletau.
Jarvis for Lee (12), Evans for Jenkins (40), Hibbard for Baldwin (56), Williams for Roberts (59), Phillips for Webb (68), Tipuric for Lydiate (68), Ball for Wyn Jones (71), Baldwin for Hibbard (78).
Warburton (27), Davies (77).
15-Rob Kearney, 14-Tommy Bowe, 13-Jared Payne, 12-Robbie Henshaw, 11-Simon Zebo, 10-Johnny Sexton, 9-Conor Murray; 1-Jack McGrath, 2-Rory Best, 3-Mike Ross, 4-Devin Toner, 5-Paul O’Connell, 6-Peter O’Mahony, 7-Sean O’Brien, 8-Jamie Heaslip.
Healy for McGrath (56), Reddan for Murray (62), Cronin for Best (62), Moore for Ross (62), Henderson for Toner (62), Murphy for Heaslip (71), Madigan for Sexton (74).
Wayne Barnes (England)
Jerome Garces (France) Federico Anselmi (Argentina)
Graham Hughes (England)