Tom Morrissey hit a late winner as Limerick saw off Kilkenny in the All-Ireland SHC quarter-final with a two-point victory at Semple Stadium in Thurles.

John Kiely’s side go on to face Cork in the All-Ireland semi-final and they will be boosted hugely by this performance, which needed late scores from substitutes Peter Casey and Shane Dowling after Richie Hogan’s goal had given Kilkenny the lead in the closing stages.

A remarkable performance was highlighted by the fact limerick scored just three of their 27 points from placed balls - two frees and a sideline cut.

There were 18,596 in attendance and they watched a thrilling first-half where Kilkenny dominated early on, but Limerick fought back to hold a 0-15 to 0-12 interval lead, only for Kilkenny to chip away at that like they did against Galway a week earlier.

Hogan was a late inclusion in the Kilkenny starting 15, he replaced Richie Leahy, and scored his side’s first point in the fourth minute.

Seamus Flanangan hit back for Limerick one minute later but Kilkenny were the dominant force.

James Maher scored their second point and that was followed by Reid’s first from a free. Kilkenny went 0-04 to 0-01 in front when Reid popped over his second free.

Limerick were wasteful in attack and Kilkenny ran up a 0-07 to 0-03 lead with Hogan on target with his third and Colin Fennelly scored a first point. 

But Limerick almost goaled through Aaron Gillane in the 13th minute and the warning signs were definitely there.

Kilkenny regressed massively between the 18th and 24th minutes and Limerick fought back to draw level.

Graeme Mulcahy scored first and Diarmuid Byrnes’ inspirational effort really drove Limerick on.

Maher scored his second point to stem the flow but that didn’t last long.

Gillane scored either side of a big Declan Hannon point and the sides were level 0-08 to 0-08.

TJ Reid and Kyle Hayes traded points after Limerick should have scored a certain goal but Flanagan’s heavy pass was cut out by Kilkenny goalkeeper Eoin Murphy.

Gearoid Hegarty and Maher scored for their sides but then Limerick went on a four-point run coming up to half-time. Hegarty scored after a stunning pass from Flanagan, and Mulcahy, Tom Morrissey and Darragh O’Donovan also found the range. 

Conor Fogarty reduced the arrears for Kilkenny, and Fennelly’s second meant Kilkenny trailed by 0-15 to 0-12 at half-time.

TJ Reid scored a fourth free on the resumption but Limerick remained in the ascendency and Hegarty began the second onslaught. 

Limerick were 0-17 to 0-13 in front when Murphy pulled off his third point-blank save, this time from Gillane in the 46th minute.

He was keeping them in the game and the outfield players scored three points in two minutes to leave them trailing by one in the 53rd minute. 

Leahy made the impact off the bench with two scores and it was 0-19 to 0-18. Mulcahy should have goaled two minutes later but he took his point and it settled a shaky Limerick outfit.

Peter Casey came on for Flanagan after he missed another goal chance and Casey scored a crucial point with O’Donovan crowning that off from a sideline cut before he departed.

John Donnelly came on in the 62nd minute and after he scored a point he set up Hogan who swivelled and lashed his shot past Nickie Quaid Limerick goal three minutes later.

But Limerick retained their composure and scored three points in a row for a 0-25 to 1-21 lead before Leahy levelled it again in the 68th minute.

The game was hectic and the error count rose but Morrissey kept a cool head to give Limerick the lead in the 71st minute and Gillane finished it off.

Limerick: Nicky Quaid; Sean Finn, Mike Casey, Richie English; Diarmaid Byrnes (0-01), Declan Hannon (0-01), Dan Morrissey; Darragh O’Donovan (0-03, 0-01’sl), Cian Lynch; Gearoid Hegarty (0-03), Kyle Hayes (0-03), Tom Morrissey (0-04); Aaron Gillane (0-05, 0-02f), Seamus Flanagan (0-01), Graeme Mulcahy (0-03).

Subs: Peter Casey (0-02) for Flanagan (59), Shane Dowling (0-01) for Hegarty (59), William O’Donoghue for O’Donovan (63)

Kilkenny: Eoin Murphy; Paul Murphy, Padraig Walsh, Paddy Deegan; Joey Holden, Cillian Buckley (c), Robert Lennon; Conor Fogarty (0-01), James Maher (0-03); Martin Keoghan, Richie Hogan (1-03), Pat Lyng; Billy Ryan, Colin Fennelly (0-02), TJ Reid (0-07, 0-05f, 0-01’65).

Subs: Liam Blanchfield (0-01) for Lyng (35), Richie Leahy (0-04) for Keoghan (45), John Donnelly (0-01) for Fennelly (62), Ger Aylward for Ryan (72).

Referee: James McGrath (Westmeath).