Breathless, brilliant, brutal.

The weather on a fine July evening was close but the margins on the pitch at Croke Park were closer as Kilkenny dethroned All-Ireland champions Limerick to reach their first All-Ireland final in three years after holding off a ferocious fightback.

Kilkenny had taken the game to the favourites from the throw-in but Limerick twice battled back from big deficits in front of a crowd of 55,001.

They were nine points down after a quarter of an hour following a Colin Fennelly strike, and five behind with ten minutes to play, but supersub Shane Dowling came off the bench to grab a goal that made it a one-point game going into five nail-biting minutes of injury time.

Limerick fought like demons but they couldn't find the equaliser they would scarcely have deserved and Brian Cody maintains his incredible semi-final record, this his 11th win in a row as manager since the 2005 reversal to Galway.

Kilkenny will be back to face Wexford or Tipperary in the final on 18 August, League and Munster champions Limerick are left to wonder how a season that looked destined for a treble not seen since the 1930s could have ended so spectacularly.

Discipline was an issue from the start for the Munster champions, who conceded two frees, both converted by TJ Reid, within the opening 90 seconds.

Of equal concern was the fact that their puckout, usually a source of strength, was malfunctioning as Kilkenny were content to drop deep and let Nickie Quaid go short then use the extra men in midfield to try and turn over the ball.

And turn it over they did, repeatedly. The Cats were tackling ferociously, winning all the 50-50 battles and Limerick's touch looked off as Kilkenny eased into a 0-06 to 0-01 lead by the 10th minute, thanks to a superb sideline cut from Reid and two points from the recalled Walter Walsh.

Dowling's goal saw Limerick threaten a comeback

Adrian Mullen fired over after Tom Morrissey was bottled up and, despite Graeme Mulcahy getting one back, the margin was a staggering nine after a quarter of an hour when a long ball in was gathered by Fennelly, who turned Seán Finn before flicking past Quaid to the net.

To Limerick’s credit, they didn’t panic, and landed the next three scores through Gillane (1-09), one of their few players operating at full steam, Peter Casey and Mulcahy, after a delicious dummy by Wille O’Donoghue.

But Limerick continued to leak frees, punished flawlessly by Reid, and the lead was double scores by the 25th minute when Gearóid Hegarty crunched Paddy Deegan in frustration at miscontrolling the ball.

Limerick hit back with three in a row again, an inspirational score from Tom Morrissey either side of Gillane frees, and probably would have been relieved enough with an interval deficit of four.

But in injury-time, Huw Lawlor put his arm around Gillane’s neck as they grappled under the dropping ball. Referee Alan Kelly signalled a penalty and Gillane rattled it to the net for Limerick’s first Championship goal against Kilkenny in four games, dating back to 2012.

Limerick appeal Darragh O'Donovan's late sideline cut

An otherwise quiet Richie Hogan had the last say in the first half but Kilkenny had worked very hard for what was now just a 1-12 to 1-09 lead at the break.

Limerick lost captain Declan Hannon to a suspected broken rib at half time, Barry Nash replacing him, and despite Fennelly extending the lead, Gillane quickly hit back.

Limerick started to get on top physically. Their forwards hassled the Kilkenny backs into a trio of frees, Gillane converting them all to make a one-point game, 1-15 to 1-14 on 48 minutes.

Former Hurler of the Year Hogan had been hauled off unsentimentally at this stage, as was John Donnelly, seconds after hitting a momentum-halting point that restored the lead to two.

Nash, who got to grips with the game quickly, narrowed the gap, but Kilkenny responded with four on the trot to lead 1-20 to 1-15 on the hour mark; star performers Mullen (0-04) and Fennelly (1-03) alternating with scores, Mullen’s first after a fine catch and turn, one of particular beauty.

Cody's exceptional semi-final record continues

There was the rare sight of Reid, restricted to one free after the break after hitting 0-07 in the first half, missing a placed ball before - who else? - Shane Dowling gave the champions hope.

Eight minutes after replacing Hegarty, the Na Piarsaigh sharpshooter took a handpass from Kyle Hayes and batted the ball at an unorthodox angle to the corner of Eoin Murphy’s net.

Another sub, David Reidy made it a one-point game. Five minutes injury time. Long enough to turn your hair white, if you hadn’t already torn it out.

Diarmaid Byrnes sent a long-range free wide and James Maher gave Kilkenny breathing space with a score from a tight angle.

Two minutes left. Eoin Murphy gets down low to save from Reidy. Byrnes sends over the resulting 65.

The seconds tick away. Darragh O'Donovan has a sideline to force a replay. The ball sails wide. Limerick appeal for a 65 but none is forthcoming.

The Treaty's reign is over, the Cats are back. They hadn't been gone too long.

Limerick: Nickie Quaid; Sean Finn, Mike Casey, Richie English; Diarmaid Byrnes (0-1 '65'), Declan Hannon, Dan Morrissey; Cian Lynch, William O'Donoghue; Gearoid Hegarty, Kyle Hayes, Tom Morrissey (0-01); Aaron Gillane (1-10, 1-0 pen, 7f), Graeme Mulcahy (0-02), Peter Casey (0-01).

Subs: Barry Nash (0-01) for Hannon (ht), Shane Dowling (1-00) for Hegarty (56), Darragh O’Donovan for O’Donoghue (58), David Reidy (0-01) for T Morrissey (64), Pat Ryan for Casey (67).

Kilkenny: Eoin Murphy; Paul Murphy, Huw Lawlor, Joey Holden; Conor Fogarty, Padraig Walsh (0-1), Paddy Deegan; Conor Browne, Richie Leahy; John Donnelly (0-01), TJ Reid (0-08, 1 s-l, 7f), Walter Walsh (0-02); Adrian Mullen (0-04), Colin Fennelly (1-03), Richie Hogan (0-01).

Subs: Cillian Buckley for Leahy (35), Bill Sheehan for Hogan (45), Billy Ryan for Donnelly (52), Liam Blanchfield for Fennelly (64), James Maher (0-01) for Fogarty (67).

Referee: Liam Gordon (Galway)