Waterford advanced to an All-Ireland semi-final against neighbours Kilkenny after scoring an impressive 3-27 to 3-18 win over Clare at Páirc Uí Chaoimh.

They held an edge throughout and with 12 players finding the target, Liam Cahill's men did enough to reach the last four for the first time since 2017 as they bounced back impressively from last weekend’s Munster final loss to Limerick.

The sides were level four times in the opening half but Waterford led by 3-10 to 2-10 at the break, having played with the breeze.

Corner-forward Dessie Hutchinson struck for two goals in the opening five minutes to stun Clare, but Brian Lohan's men didn’t panic and points from Tony Kelly, Shane O’Donnell and David McInerney in between the goals kept them in touch.

Calum Lyons was given the job of trying to mark Kelly and restricted him to a point from play, while the Clare talisman suffered an injury when he rolled over on ankle but he managed to recover.

A point from Hutchinson left Waterford leading by 2-05 to 0-05 after 16 minutes but then Cathal Malone pointed and Aron Shanagher got his first goal after a good build-up involving Ryan Taylor and McInerney after 18 minutes.

He found the net again a couple of minutes later when he collected a long ball from Patrick O’Connor before dispatching low to the net with a bouncing shot to edge Clare in front for the first time.

Austin Gleeson and Stephen Bennett hit back for Waterford before Shane O’Donnell, Shanagher and Kelly pushed Clare 2-09 to 2-07 in front seven minutes from the interval.

Stephen Bennett struck two points from play to level the sides and after Kelly pointed a fourth free, Hutchinson turned provider and set Jack Fagan up for his first championship goal for Waterford and they finished the half well when Kieran Bennett became their sixth player to score when he pointed to lead by 3-10 to 2-10 at the end of a thrilling opening half.

Stephen Bennett and half-time substitutes Neil Montgomery extended Waterford’s lead after the restart but these points were cancelled by Kelly and Cathal Malone.

Hutchinson took his haul to 2-02 and Kieran Bennett got his third point to lead by 3-14 to 2-12 after 45 minutes before Ryan Taylor responded with an excellent Clare point from the right.

Tadhg se Burca landed an inspirational point for Waterford and after Kelly landed another free, Jack Fagan struck a superb point from the right to lead by 3-16 to 2-14 going into the second water break.

Austin Gleeson pushed that out to a six points lead on the resumption and Barron got his second point to extend the lead and leave Clare with a mountain to climb with 14 minutes remaining.

They got a glimmer of hope after 57 minutes when Aidan McCarthy blasted to the net after a superb cross from Shanagher to cut the gap to four points.

Stephen Bennett responded with a point and then his goalkeeper Stephen O’Keeffe produced a stunning save to deny Aaron Cunningham and the Clare challenge faded after that as Waterford pushed home for victory with a string of points from all angles to book a semi-final date with Kilkenny.

Waterford: Stephen O'Keeffe; Ian Kenny, Conor Prunty, Shane McNulty; Calum Lyons (0-01), Tadhg de Burca (0-01), Kevin Moran; Jamie Barron (0-02), Kieran Bennett (0-03); Jack Fagan (1-01), Stephen Bennett (0-10, 7f), Jake Dillon; Dessie Hutchinson (2-02), Austin Gleeson (0-02), Jack Prendergast.

Subs used: Neil Montgomery (0-01) for Prendergast (half-time), Darragh Lyons (0-01) for Dillon (45), Patrick Curran (0-01) for Fagan (63), Conor Gleeson (0-02) for Austin Gleeson (67), Ciaran Kirwan for Hutchinson (70).

Clare: Eibhear Quilligan; Rory Hayes, Conor Cleary, Patrick O’Connor; Stephen O’Halloran, Seadna Morey, Jack Browne; David McInerney (0-01, sideline), Jason McCarthy; Aidan McCarthy (1-00), Cathal Malone (0-04), Tony Kelly (0-08, 6f); Shane O’Donnell (0-2), Aron Shanagher (2-01), Ryan Taylor (0-01).

Subs used: David Fitzgerald for Browne (half-time), Diarmuid Ryan for McCarthy (53), Aaron Cunningham for McInerney (56), David Reidy (0-01) for Fitzgerald (56), Cathal McInerney for Taylor (63).

Referee: Paud O’Dwyer (Carlow)