Ciaran Archer, the reigning Under-20 Player of the Year, rose above the horrendous conditions at Parnell Park with 1-4 to help secure back-to-back 10-point wins for Dublin in the Leinster championship.
The provincial title holders’ 3-10 to 0-9 win over Longford flattered them though as there were just three points in it until Archer struck his crucial goal in the 57th minute, effectively sealing the win.
Substitute Conor Kinsella added Dublin's third goal two minutes into stoppage time and suddenly it all looked very comfortable for the hosts.
They advance to play Meath in the last four next weekend following the Royal County’s 1-12 to 1-5 quarter-final win in Wexford.
Longford were 15/2 outsiders before travelling to the capital, partly because of their 4-21 to 0-7 defeat to Dublin at the same stage in 2019 - when Archer scored 3-8 - and partly because of Dublin’s 10-point Round One win over Wicklow.
And when Lorcan O’Dell hit Dublin’s opening goal after nine minutes, moving them 1-2 to 0-1 ahead, it looked as if another big win for the Blues might be on the cards. Longford fought back impressively though, outscoring Dublin by 0-5 to 0-1 during the worst of the high winds and driving rain, to force stalemate at half-time, 1-3 to 0-6.
They also scored the point of the half when defender Dario Ciglianio raced forward, evading six different Dublin attempts to dispossess him, and curled the ball over.
That was as good as it got for the Donal Ledwith’s side who were overwhelmed in the third quarter by Dublin’s greater urgency, the 2019 All-Ireland finalist hitting five points without response.
Longford lost full-forward Aidan McGuire in the 47th minute for a black card that followed an earlier booking and though there was still just three points in it 10 minutes later, Dublin eventually pulled clear with those Archer and Kinsella goals.
They'll take on Meath next weekend after the Royal County turned in a storming second-half to see off hosts Wexford. Todd Hynes netted in the opening minute for Wexford who led 1-2 to 0-4 at half-time but they couldn't hold on.
Instead it was Meath that increased the intensity and senior forward Shane Walsh blasted 1-3 to power the visitors to victory and a date with Dublin.
Kildare will play Laois or Westmeath (that quarter-final tie was postponed) in the other semi-final and the Lilywhites also came from behind to make it through. Kildare were 0-6 to 0-2 down at half-time to an Offaly side for whom Jack Bryant was on top form with three points in that period.
Shane O'Sullivan's 38th minute goal got the Kildare fight-back going and he added two more points from frees before Alex Beirne levelled it at 1-6 to 0-9 in the 52nd minute. It was anyone's game in heavy conditions and Paddy McDermott, a substitute like Beirne, stood up for Kildare to grab the winning point in the 61st minute.
All of the U-20 championship games in Ulster were postponed due to the bad weather along with the Connacht U-20 semi-final between Leitrim and Galway. Roscommon beat Sligo 1-11 to 1-8 in the Connacht semi-final that did take place, Adam McDermott hitting the goal and 1-1 in total for the Rossies at Markievicz Park.
Connacht U-20FC semi-final
Roscommon 1-11 Sligo 1-8
Leitrim P Galway P
Leinster U-20FC quarter-finals
Dublin 3-10 Longford 0-9
Meath 1-12 Wexford 1-5
Kildare 1-7 Offaly 0-9
Laois P Westmeath P
Ulster U-20FC quarter-finals
Cavan P Down P
Donegal P Monaghan P
Armagh P Tyrone P
Antrim P Derry P