A wasteful Dublin finally found their range when accounting for Carlow by 13 points at Parnell Park.
In winning, the Dubs confirmed their promotion play-off spot but an improvement in their shooting will be required if they are to overcome Limerick and return to the top flight, as manager Anthony Daly conceded.
"Our conversion rate wasn't what it should have been and we would be well aware of the need to improve on that," he said.
"What you need to be doing is taking your chances but our option-taking was poor at times but thankfully we improved on that after the break."
The Dubs were buoyed by an eighth-minute goal from Kevin Byrne, who had the simplest of tasks from close range after David Treacy had availed of a defensive slip-up.
Carlow regrouped sufficiently to reduce their arrears through Marty Kavanagh, and the centre-forward produced a glorious point midway through the half as the visitors made the most of Dublin's profligacy in attack.
However, chances were still appearing with regularity for the hosts and in the 20th minute Niall McMorrow escaped down the left flank before being allowed far too much time to fire a cross-shot beyond Niall Treacy.
Far from acting as a springboard for Dublin, a degree of sloppiness permeated their play, allowing to Carlow to tag on points through David English and John Michael Nolan.
Dublin regrouped for the final five minutes of the half and late scores by Treacy and Liam Rushe ensured a 2-5 to 0-7 interval lead for the hosts.
Dublin needed to improve their shooting on the restart and a superb second goal from McMorrow in the 58th minute and seven points by substitute Paul Ryan ensured a comfortable progression to the final for the hosts.
Man of the match: S Hiney (Dublin, pictured)
SCORERS – Dublin: N McMorrow 2-1, P Ryan 0-7 (5fs), D Treacy 0-4fs, K Byrne 1-0, E Dillon, S Lambert, L Rushe 0-1 each. Carlow: M Kavanagh 0-7 (6fs), S Kavanagh 0-2 (1f), D English, J Nolan 0-1 each.
DUBLIN – A Nolan 7; R Trainor 7, P Schutte 6, O Gough 7; S Hiney 8, C Keaney 7, S Durkin 6; S Lambert 6, L Rushe 7; R O'Dwyer 6, M McMorrow 7, K Byrne 6; C McCormack 6, D Treacy 6, E Dillon 6. Subs: D O'Callaghan 6 for Dillon (5), P Ryan 8 for McCormack (50), S McGrath 6 for Treacy (56), M O'Brien 6 for Keaney (61), G Whelan 6 for O'Dwyer (63).
CARLOW – B Treacy 6; H O'Byrne 6, E Nolan 7, D Shaw 7; A Corcoran 6, R Coady 7, J Corcoran 6; D English 7, E Coady 7; J Kavanagh 6, M Kavanagh 7, J Nolan 6; P Shaw 5, S Kavanagh 6, D Roberts 6. Subs: P Coady 5 for P Shaw (h-t), D Byrne 6 for J Corcoran (44), C Doyle 6 for Roberts (49), A Gaule 6 for J Kavanagh (49).
REF – C Browne (Galway).