Ryan O’Dwyer’s first half hat-trick propelled Dublin to their first All-Ireland SHC semi-final since 1948.

But Anthony Daly’s side had to dig deep to hold off a Limerick side inspired by teenage sensation Declan Hannon, who drilled over 11 magnificent points at Semple Stadium.

O'Dwyer struck the first blow in the fifth minute, skipping past Tom Condon to slot home past Nicky Quaid.

Eighteen-year-old Hannon kept Limerick very much in touch with three splendid points from play, but the Treaty men suffered another setback in the 11th minute when O'Dwyer smashed home a superb goal.

Paul Ryan tagged on a couple of points to ease the Dubs into a five point lead, and by the 20-minute mark, they had stretched the advantage to 2-6 to 0-6, with Liam Rushe and O’Dwyer finding the target.

The Limerick defence was badly stretched, and when Brian Geary coughed up possession, they conceded a third goal, O’Dwyer completing his hat-trick with a close range finish after Quaid had saved from David O’Callaghan in the 24th minute.

To their credit, Limerick, now nine points adrift, dominated the remainder of the first half, and three more scores from Hannon and a Kevin Downes effort reduced the interval deficit to a manageable five, Dublin ahead by 3-6 to 0-10.

The gap had been cut to two points within three minutes of the restart, with Gavin O’Mahony powering over a long range free, and Hannon bringing his tally to eight.

The scores had dried up for Dublin until Ryan drove a free between the posts from distance, and they were somewhat fortunate that Limerick squandered a succession of scoring chances.

Ryan had just planted his seventh point when Hannon intervened again with another piece of magic, floating over a majestic point from play.

He added a free for his tenth score of the afternoon, and Dublin’s lead was now a precarious three points.

Downes and Hannon both hit the target to keep the pressure on, but Ryan kept the Dubs’ noses in front with his eighth score.

As a gripping contest entered its final 10 minutes, just two points separated the sides. Limerick continued to create chances, but nine second half wides cost them dearly, while their opponents were much more efficient in their use of scoring opportunities.

And the Metropolitans sealed their first semi-final appearance since 1948 with late scores from O’Dwyer and substitute Shane Ryan, with defenders Joey Boland and Peter Kelly shutting out Limerick's late chase for a goal.

Dublin: G Maguire, N Corcoran, P Kelly, P Schutte, J McCaffrey, J Boland, S Durkin, L Rushe (0-1), M O’Brien, C McCormack, R O’Dwyer (3-2), M Carton, A McCrabbe, D O’Callaghan (0-1), P Ryan (0-8, 6f).

Subs: D Treacy for McCormack, S Lambert for McCrabbe, D Plunkett for O’Brien, D Sutcliffe for Durkin, S Ryan (0-1) for O’Callaghan

Limerick: N Quaid, D Moloney, S Hickey, T Condon, W McNamara, B Geary (0-2, 2f), G O'Mahony (0-2, 2f), D O'Grady (0-1), P Browne, N Moran, J Ryan, D Hannon (0-11, 4f, 1 ’65), G Mulcahy, K Downes (0-2), S Tobin.

Subs: S Walsh for Geary, D Breen for Tobin, R McCarthy for Moran, S Lucey for O’Grady

Referee: B Gavin (Offaly)