Limerick and Waterford will meet in the All-Ireland hurling final for the first time after the 2018 winners ground down Galway in an 80-minute semi-final dogfight.

The Munster champions started slowly, falling five points behind in the early stages, but had recovered to lead by two at half-time – 0-15 to 0-13 – as Gearóid Hegarty (four points from play) and Tom Morrissey (3) drove them on.

Joe Canning had hit a championship record four sideline cuts over the bar by the second water break but it wasn't enough for the lead as Limerick pulled five clear.

Galway keeper Éanna Murphy, whose puckouts were picked off throughout, kept his team in it with several crucial saves though and indiscipline from Limerick allowed Galway to stay in touch as the hour-mark approached.

The Tribesmen got it back to within two points but when Canning was stretchered off after an accidental collision with his own man their chances looked slim.

Evan Niland replaced Joe after a long delay and made an immediate impact, scoring twice as Galway drew level during the almost ten minutes of injury-time, but three more points from Morrissey helped Limerick close it out in what was a dramatic finish to an often dour battle.

For John Kiely’s men, it’s a chance to regain the Liam MacCarthy Cup they relinquished last year in what will be only the third decider to feature two teams from Munster - following Clare-Tipperary in 1997 and Clare-Cork in 2013 - and a rematch of this year's provincial final.

Canning, who was reported concussed but otherwise okay after the game, scored the first three points of the day, the opener one of a trio of sidelines he hit during the half – two were from well outside the 45.

Cathal Mannion added a fine score and it took Limerick almost 10 minutes to trouble the scoreboard before Tom Morrissey managed two in quick succession.

Galway were still in the ascendancy and stretched the lead through Conor Whelan and Brian Concannon – who hit three from play in the first half – but Seamus Flanagan and the superb Gearóid Hegarty – four from play in the opening 35 – cut the gap to three at the first water break, Galway leading 0-07 to 0-03.

Concannon made it a five-point game shortly after the restart but Galway's short puckout was starting to malfunction badly.

The Tribesmen men lost seven of their own restarts (16/23) in the first half while Limerick won all but one of theirs (16/17) and used that possession to dominate the second quarter, outscoring the Westerners by 11 points to five before the interval, with some wonderful points from the sidelines.

Key forward Cathal Mannion was forced off with a hamstring injury and Limerick half-backs Diarmuid Byrnes and Declan Hannon were both on target as the favourites found their flow to take a two-point lead in at half-time.

It could have been more had Murphy not turned away Seamus Flanagan’s low shot.

Kiely had spoken about his desire for a better restart than in the Munster final and Limerick delivered, racking up points from Flanagan, substitute Peter Casey and Cian Lynch, who was now pulling the strings after a quiet first half.

Murphy was a busy man, keeping out a rising shot from sub David Reidy and then making a superb double-save to deny Flanagan and Kyle Hayes, up on one of several sorties forward from wing-back.

Canning added another sideline but with 16 minutes to play Galway were five adrift (0-23 to 0-18) and, in the absence of creating any goal opportunties themselves, looked in deep trouble.

Limerick’s propensity for late hitting kept the door open though and a string of frees from Canning made it a two-point game before he collided with team-mate Joseph Cooney and was carried off the field.

The 22-year-old Niland’s first touch after replacing the Galway talisman was to score a free from his own 65, and Conor Whelan twice drew them level in injury-time.

However, despite an incredible fifth converted sideline – by Fintan Burke this time - Shane O’Neill’s side couldn’t get their noses in front and man of the match Morrissey rattled over three of his team’s last four points to seal a second final appearance in three seasons.

Limerick: Nickie Quaid; Sean Finn, Dan Morrissey, Barry Nash; Diarmuid Byrnes (0-03, 1f), Declan Hannon (C) (0-01), Kyle Hayes; Darragh O'Donovan, William O'Donoghue; Gearoid Hegarty (0-04), Cian Lynch (0-02), Tom Morrissey (0-06, 1f); Aaron Gillane (0-06, 5f), Seamus Flanagan (0-02), Graeme Mulcahy. 

Subs: Peter Casey (0-02) for Mulcahy (40 mins), David Reidy for O’Donovan (52), Adrian Breen (0-01) for Flanagan (62), Paddy O’Loughlin for Hannon (74), Pat Ryan for Gillane (76).

Galway: Eanna Murphy; Aidan Harte, Daithi Burke, Shane Cooney; Seán Loftus, Gearoid McInerney, Joseph Cooney (0-01); Padraic Mannion (C), Johnny Coen; Joe Canning (0-12, 4 s-l, 8f), Cathal Mannion (0-01), David Burke; Conor Whelan (0-03), Conor Cooney, Brian Concannon (0-03).

Subs: Adrian Tuohey (0-01) for C Mannion (24), Fintan Burke (0-1 s-l) for D Burke (ht), Jason Flynn for C Cooney (45), Seán Linnane for S Cooney (53), E Niland (0-2, 1f) for Canning (68).

Referee: James Owens (Wexford)