By Paul Keane
Longford 1-12 Dublin 0-9
Liam Connerton's goal six minutes from time sealed victory for Longford who progress to face Meath in next weekend's Bord na Mona O'Byrne Cup final, instead of the holders and All-Ireland champions Dublin.
Longford looked comfortable and composed in possession despite the drab conditions and, save for a two-minute spell in the first-half, they led for the entire game.
Dublin were in experimental mode but still fielded seven players who started last September's All-Ireland final win over Kerry; Stephen Cluxton, Jonny Cooper, Philly McMahon, James McCarthy, Denis Bastick, Dean Rock and Paddy Andrews.
Most concerning for Dublin may be that when the game was there to be won - there was just a point in it with 10 minutes remaining- Longford kicked decisively clear with 1-3 to Dublin's 0-1.
Dublin manager Jim Gavin has fielded 31 different players in total over four O'Byrne Cup games and Longford looked the more fluent and coherent side as they moved 0-7 to 0-4 ahead at half-time.
Dublin raised their game briefly in the third quarter in front of around 1,500 but never got back to level terms.
Longford will face Meath in the final after the Royals beat Louth 0-11 to 0-10 in treacherous conditions in Drogheda. Meath's Barry Tormey was sent off in the second half but Mick O'Dowd's side held on.
Scorers for Longford: L Connerton (1-0), R Smyth (3 frees) and F McGee (1 free) (0-3 each), M Hughes, B Farrell, J McGivney, D Gallagher, P McKeon and B McKeon (1 free) (0-1 each).
Scorers for Dublin: D Rock (two frees, 0-3), C Reddin (0-2), D Daly, P Andrews, T Brady and C Costello (0-1).
Longford: P Collum; F Battrim, B Gilleran, CP Smyth; A Dalton, D Brady, D Masterson; M Brady, B Farrell; B McKeon, J McGivney, D Gallagher; R Smyth, F McGee, M Hughes.
Subs: P McKeon for Hughes (46), D McElligott for Farrell (54), L Connerton for Smyth (60), C Shields for P McKeon (67, BC), P McGee for F McGee (69).
Dublin: S Cluxton; J Cooper, J Curley, P McMahon; J McCarthy, J Small, D Daly; C Reddin, D Bastick; T Brady, D Rock, S Carthy; C Costello, P Andrews, C O'Callaghan.
Subs: N Scully for Bastick (41), P Ryan for O'Callaghan (50), C Mullally for Carthy (61), M Deegan for Andrews (66).
Referee: J Hickey (Carlow).