Kilkenny progressed to a third successive All-Ireland final after edging Waterford by 2-19 to 2-17 in an epic match at Semple Stadium.
The two counties went toe to toe for the second time in six days, sharing four first-half goals, and extra-time looked on the cards when Waterford levelled proceedings with three minutes remaining.
The drama continued in injury time where two TJ Reid frees put Kilkenny back in front and Cats goalkeeper Eoin Murphy caught a Pauric Mahony free as it was about to drop over the crossbar.
Richie Hogan then secured an amazing victory with the last puck of the game, setting up an All-Ireland final date with the winners of tomorrow’s semi-final between Galway and Tipperary.
Waterford were heroic in defeat, with Austin Gleeson – again named man of the match – and Jake Dillon scoring goals either side of two maximums from Colin Fennelly. The Deise hung on gamely in the second period as Kilkenny threatened to pull away, but their wait for a first championship win over their neighbours since 1959 goes on.
Kilkenny made three late changes prior to throw-in, Brian Cody handing a first championship start to Liam Blanchfield, and he opened the scoring in the opening minute.
But Waterford hit the front foot when Gleeson took Michael ‘Brick’ Walsh’s pass out wide and raced towards goal, holding off Conor Fogarty and cracking a low shot to the corner of Murphy’s net.
Gleeson added a point but Kilkenny were back level moments later when Walter Walsh passed inside to Colin Fennelly. He beat Barry Coughlan and lashed an unstoppable effort past Stephen O’Keefe.
Three minutes later and Fennelly scored his second maximum. Walsh won a breaking ball and fed the full-forward, who found the roof of the Waterford net to give Kilkenny a 2-1 to 1-1 lead after 11 minutes.
Waterford replied by registering an unanswered 1-4 in a five-minute purple patch, the goal coming from Jake Dillon on 20 minutes following a wonderful catch in midfield by Kevin Moran.
Shane Bennett, who provided the assist for Dillon’s goal, then added a point to give Waterford a three-point lead but they were outscored by 0-8 to 0-2 in the final 12 minutes of the half.
Blanchfield took his tally to three points with Reid converting two frees, and two injury-time scores from Michael Fennelly and Walter Walsh gave Kilkenny a 2-10 to 2-7 lead at the interval.
Blanchfield forced a save from O’Keefe early in the second half as Kilkenny looked to pick up where they left off, and a Reid free on 44 minutes gave them a five-point lead.
But Waterford hit back, scoring three unanswered points as the introduction of Maurice Shanahan paid dividends. He won a free, which Mahony converted, and scored a point less than a minute later to make it 2-14 to 2-12.
Kilkenny lost Michael Fennelly to an Achilles injury and Waterford rallied in the closing stages, Mahony slotting over two frees and Jamie Barron pointing from the left sideline to level the game with two minutes left on the clock.
Blanchfield produced a wonderful catch before being fouled in front of the posts, allowing Reid to fire Kilkenny back in front. The Ballyhale clubman looked to have given his side some breathing space with his seventh point of the game but Shanahan quickly replied.
There was late drama when Waterford were awarded a free in the third minute of added time and Mahony’s effort looked to be creeping over, but Murphy made a fantastic catch over his crossbar before Hogan sealed a magnificent victory.
Kilkenny: E Murphy; P Murphy, J Holden, S Prendergast; P Walsh (0-2), C Fogarty, C Buckley; TJ Reid (0-7, 6f), R Hogan (0-4); W Walsh (0-1), M Fennelly (0-1), M Bergin; L Blanchfield (0-3), C Fennelly (2-0), E Larkin (0-1).
Subs: L Ryan for M Fennelly (59), J Farrell for Bergin (61).
Waterford: S O’Keeffe; S Fives, B Coughlan, N Connors; T de Burca, A Gleeson (1-2), Philip Mahony; J Barron (0-2), C Gleeson; K Moran, Shane Bennett (0-2), M Walsh; Stephen Bennett, J Dillon (1-0), Pauric Mahony (0-9, 7f).
Subs: M Shanahan (0-2) for Stephen Bennett (47), T Devine for Dillon (61).
Referee: J McGrath (Westmeath)