Dublin are through to the Leinster U-20 hurling final though they had to brave a strong Offaly comeback at Parnell Park to seal their place in the decider.

Ciarán Foley's 1-06 haul and 1-5 from Dara Purcell ultimately propelled Dublin to back-to-back finals and what will be a repeat of the delayed 2020 decider when they meet Galway on 27 July.

But Dublin lived dangerously and winced as a nine-point lead at the three-quarter stage was whittled down to just one following a terrific Offaly revival.

That was as close as Offaly could get, however, and stoppage time points from Cian Boyle and Foley ultimately did the job for Dublin.

The win comes 10 days after Purcell, Iain O hEithir, Darragh Power and Darach McBride, all in Dublin's lineup, started the delayed 2020 All-Ireland final which they lost to Cork.

In all, eight of Dublin's starting team this evening featured at some stage in that loss to the Rebels with four of them - Brian Sheehy, Donal Leavy, Foley and Padhraic Linehan - coming on in that four-point defeat.

Purcell looked like a player on a mission initially and tortured the Offaly defence with his clever running and neat stickwork.

He shortened the hurl and batted his first point in the fifth minute to put Dublin three points clear.

Then he followed in on the goalkeeper who collected a stray Dublin pass and forced a turnover, tapping back into an empty net.

It was a poor concession from Offaly's perspective and left them up against it, trailining 1-03 to 0-00.

Purcell added two more to stretch the gap to seven points though Offaly suddenly sprung into life, reeling off five points in a row.

Jack Screeney scored four of those from frees to leave just two between them at the water break.

The concession of another soft goal cost Offaly as Dublin were awarded a penalty, for an unnecessary foul by Dara Maher on Padhraic Linehan, and Foley converted.

Dublin lost centre-back Cian O Cathasaigh after a huge hit from Offaly's DJ McLoughlin though the hosts hit the half-time break with a 2-09 to 0-08 lead.

Offaly needed a goal to ignite the contest again but Tom Dooley's 42nd minute shot drew a strong save from Dublin's Ben Hynes.

Dublin led 2-13 to 0-11 at the second water break but Offaly finally got their goal upon the restart, Charlie Mitchell sniping from close range.

It cut the gap to five points and the margin was down to four when Joe Ryan pointed with seven minutes remaining.

Dublin were overwhelmed and powerless to prevent Offaly cutting the gap to the minimum with 60 minutes played.

But a point from sub Boyle settled them and the same player had a late goal chance which was blocked for a 65 that Foley converted.

Dublin: Ben Hynes; Davy Crowe, Brian Sheehy, Iain O hEithir; Paddy Doyle, Cian O Cathasaigh, Patrick Dunleavy; Darragh Power, Donal Leavy (0-01); Darach McBride, Seamus Fenton, Padhraic Linehan; Ciaran Foley (1-06, 1-00pen, 0-05f, 0-01 65), Liam Dunne (0-01), Dara Purcell (1-05).

Subs: Eddie Moran for O Cathasaigh (26), Kevin Lahiff (0-01) for McBride (42), Pearce Christie for Linehan (54), Cian Boyle (0-01) for Dunne (54), Joe Flanagan for O hEithir (62).

Offaly: Adam Fitzgerald; Conor Hardiman, Aaron Flanagan, Peter Cleary; Padraic Watkins, Killian Sampson, Dara Maher; Jack Screeney (0-06, 0-06f), Cian Burke (0-01); Luke Egan, Tom Dooley, Luke Nolan; Charlie Mitchell (1-00), Joe Ryan (0-01), DJ McLoughlin (0-01).

Subs: Niall Lyons (0-01) for Flanagan (21), Cathal Kiely (0-03, 0-02f) for Cleary (h/t), Ronan Cleary (0-02, 0-01f) for Dooley (43), Joe Hoctor for Ryan (62).

Referee: Gearoid McGrath (Wexford).