Dublin 2-10 Down 0-13
Alan Brogan shot Dublin through to their first Allianz Football League Division 1 final since 1999.
Brogan's 73rd-minute goal earned a sixth successive win for Pat Gilroy’s side after a dour battle with Down at Croke Park.
Benny Coulter and Paul McComiskey pointed Down ahead early on, before a Paul Flynn goal and a late Tomas Quinn free had the sides level at the break - 1-05 to 0-08.
Down were on course for victory courtesy of Martin Clarke's third pointed free, but Bernard and Alan Brogan had other ideas.
35,264 spectators turned out on a rain-soaked night to watch this meeting of the Division 1 leaders and last year's beaten All-Ireland finalists.
The weather certainly had an impact on proceedings and Down seemed to be coping better when they opened up a 0-03 to 0-01 lead. Coulter, who profited from a quickly-taken '45', McComiskey and Danny Hughes all found the target in the opening minutes.
In between, Barry Cahill knocked over an excellent score after a fine fetch from full-forward Diarmuid Connolly. Cahill, who was busy once again around midfield, then set up Alan Brogan for Dublin's second point.
Shortly afterwards, the Down net was bulged by Flynn who punched the ball past goalkeeper Brendan McVeigh. Brogan provided the assist with what looked like a point attempt that dropped short, but the player himself may argue otherwise.
Down recovered well from the concession of the goal, with Coulter and Martin Clarke picking off points. The latter's was a sweetly-struck free from the 45-metre range.
Flynn teed up Denis Bastick for what should have been a second Dublin goal, but the midfielder missed sent his shot wide. Flynn also struck the post with another goal chance in the 33rd minute.
Down's pace and quality of passing meant they kept created scoring opportunities despite not hitting the top gears. Kevin McKernan, Peter Fitzpatrick and Mark Poland added their names to the scoresheet.
But a late free from captain for the night Quinn brought the Dubs level and by the time Gilroy opted to introduce reigning Footballer of the Year Bernard Brogan in the 42nd minute, there was still nothing between the sides.
The second half opened with Flynn and Bryan Cullen pointing for Dublin and McComiskey, with his second fisted effort, and Hughes responding for James McCartan's outfit.
Quinn was picked out by Bernard Brogan for the lead score at 1-08 to 0-10, but wides from the same players left Dublin's lead at the minimum.
Quinn and Clarke traded frees before Conor Maginn got Down back on terms at 1-09 to 0-12 and just over 10 minutes left in the game. Both sides struggled to find their usual rhythm and Clarke sent a difficult free wide after a good spell of possession for Down.
Clarke was back in form when he popped over a free, following a foul on Coulter, but Dublin had more in the tank and finished strongly in added time.
Brogan gathered possession and curled over the equalising point in the 70th minute, giving his side the one league point they needed to book their place in the final.
But even better followed for the Dublin fans when Bernard Brogan took the ball on again and his cross in towards the square was fumbled by Kalum King, allowing Alan Brogan to fire home the match-winning goal.
Scorers - Dublin: A Brogan, P Flynn 1-01 each, T Quinn 0-04 (0-03f), B Cahill, D Connolly, B Cullen, B Brogan 0-01 each
Down: M Clarke 0-03 (0-03f), D Hughes, P McComiskey, B Coulter 0-02 each, P Fitzpatrick, M Poland, C Maginn, K McKernan 0-01 each
DUBLIN: S Cluxton; P McMahon, P Brogan, N Devereux; K Nolan, G Brennan, D Nelson; D Bastick, B Cahill; P Flynn, K McManamon, B Cullen; A Brogan, D Connolly, T Quinn.
Subs used: B Brogan for McManamon, MD Macauley for Cahill (both 42 mins), P Andrews for Cullen (59), P Burke for Flynn (62, temp sub), P Flynn for Burke (63), P Burke for Quinn (69), D Kelly for Flynn (70).
DOWN: B McVeigh; G McCartan, D Gordon, B McArdle; C Garvey, K McKernan, D Rooney; P Fitzpatrick, K King; D Hughes, M Poland, C Maginn; P McComiskey, B Coulter, M Clarke.
Subs used: D McCartan for McArdle (45 mins), D Alder for McVeigh (47), J Colgan for Fitzpatrick, R Murtagh for McComiskey (both 52), C McCarthy for Poland (59), R Sexton for Coulter (60, blood sub), B Coulter for Sexton (63).
Referee: Syl Doyle (Wexford)