Brian Cody's Cats got a hell of a fright on Halloween night as a spirited Dublin fought back from a seemingly hopeless half-time position to force Kilkenny into an added-time dogfight.
TJ Reid contributed an impressive 1-09 as Kilkenny narrowly edged past Dublin by a single point in the end.
Kilkenny led 3-13 to 0-07 at half-time, but goals from Ronan Hayes and Chris Crummey helped Dublin level matters in the closing stages before Kilkenny saw matters out.
Dublin burst out of the blocks with a score inside the opening minute from a Donal Burke free.
Sean Moran brought down the rushing Conor Fogarty right on the edge of the square with TJ Reid taking the free and converting to level the game.
Burke and Reid exchanged scores again in the fifth minute with Dublin's workrate really impressive in the opening exchanges.
Liam Rushe's superb block down on Conor Delaney allowed Cian Boland to edge Dublin in front before a third TJ Reid score levelled the game again.
Two fantastic scores from Cody and Walter Walsh got Kilkenny in their groove as Billy Ryan and TJ Reid blitzed Dublin with two goals in the space of two minutes to lead 2-05 to 0-4 after just 15 minutes.
TJ Reid played provider for Ryan for the first goal showing huge workrate and persistence to rob the sliotar back off Paddy Smyth before palming the ball off to Ryan who buried it to the back of the net and score Kilkenny's first goal of the afternoon after twelve minutes.
A minute later and Reid had a goal for himself. The Ballyhale sharpshooter again shrugged off the defensive pressure from Paddy Smyth and Eoghan O'Donnell before tapping the sliotar over Nolan in the Dublin goal at the near post.
The water break seemed to revitalise Dublin with the first two points of the second quarter. A fine Danny Sutcliffe score almost from the throw in was followed by a Daire Gray point close to goal.
Chris Crummey should have had a goal seconds before Gray's point as he broke free from Huw Lawlor in the square but was denied by a fantastic Eoin Murphy save at the feet of Crummey.
Kilkenny, as they so often do began to flex their muscles and move up the gears as the first half progressed with a flurry of scores from Cody, Walsh and another three from the evergreen TJ Reid saw Kilkenny lead by 12.
Kilkenny were far too dominant in so many positions in the first half as they smothered Dublin out of playing at all for lengthy spells of the game.
Mattie Kenny's side started the game well and their impressive workrate allowed them to keep the game tight in the opening exchanges but only one further first half score after the eighteenth minute for Dublin allowed Kilkenny to play some fantastic hurling and extend their lead.
On the stroke of half time, a lovely Ballyhale move saw Reid playing the architect once again, this time for Colin Fennelly who somehow managed to break free of three Dublin players before finishing to the net and extend Kilkenny's lead at half time to 15 points.
John Donnelly ensured Kilkenny started the second half just as they concluded the first with his second point of the game before Dublin substitute Eamonn Dillon tested Eoghan Murphy with a powerful shot towards goal with the Glenmore man saving well and tipping the ball over the bar.
Despite being 15 points adrift, Dublin to their credit continued to rally in the second half and a four Donal Burke scores brought Kenny's side to thirteen points after 57 minutes.
As the game entered the final ten minutes Dublin got their first goal of the game through substitute Ronan Hayes. Hayes collected the sliotar from a fantastic long range pass from Donal Burke to the edge of the square.
Hayes ran at Huw Lawlor and passed him with relative ease and on towards goal before slotting a low shot past Murphy and claw the game back to seven points.
A second point of the game from the impressive Eamonn Dillon got Dublin back within six points as the game entered the final six minutes.
With the game seemingly over just ten minutes beforehand, amazingly Dublin got their second goal of the game with Chris Crummey nestling the rebound past Murphy after Burke's initial shot from distance was parried back into the square.
Crummey's goal ensured a grandstand finish with Mattie Kenny's side back to within just four points of Kilkenny with four minutes remaining.
A further two scores from the hugely impressive half-time substitute Eamonn Dillon brought the game back to within a single score before incredibly on the stroke of 70 minutes, centre-back Daire Gray levelled the game for Dublin with a huge score from distance.
With the clock deep into the red, second half Kilkenny substitute Alan Murphy and the experienced Huw Lawlor pointed for Kilkenny to inch them ahead once more by two 3-20 to 2-21.
Donal Burke responded once more with a close range free but time was up and Kilkenny stumble over the line and into a Leinster Final. 3-20 to 2-22.
The Cats almost caught napping but now advance to the Leinster final on 14 November where they will play Galway or Wexford.
Kilkenny: Eoin Murphy; Conor Delaney (0-01), Huw Lawlor (0-01), Ciaran Wallace; Padraig Walsh, Paddy Deegan, Richie Reid; Cillian Buckley, Conor Fogarty; John Donnelly (0-02), TJ Reid (1-09, 5f), Walter Walsh (0-03); Billy Ryan (1-01), Colin Fennelly (1-01), Eoin Cody (0-01).
Subs: Richie Hogan for Billy Ryan (51), Martin Keoghan for Eoin Cody (60), Alan Murphy (0-01) for John Donnelly (65), Conor Browne for Conor Fogarty (65), Richie Leahy for Richie Reid (69)
Dublin: Alan Nolan; Paddy Smyth, Eoghan O'Donnell, James Madden; Conor Burke, Daire Gray (0-02), Cian O'Callaghan; Sean Moran, Rian McBride; Cian Boland (0-02), Chris Crummey (1-01), Danny Sutcliffe (0-01); Donal Burke (0-12, 6f), David Keogh, Liam Rushe.
Subs: Eamonn Dillon (0-04) for David Keogh (36), Ronan Hayes (1-00) for Liam Rushe (41), Jake Malone for Sean Moran (49), Mark Schutte for Cian Boland (60), Fergal Whitely for Rian McBride (71)
Referee: Johnny Murphy