David Keenan's first-half goal proved vital as Roscommon fought back to beat Cavan 1-17 to 0-18 in the Allianz Football League Division 3 final at Croke Park this evening.
John Evans' side were in danger of falling seven adrift after a terrible start at Croke Park in front of an 8,654 crowd.
But a storming second-half performance that yielded 1-12 in the absence of their U-21 stars and several injured players hauled them back.
Donie Shine led the line superbly with six points while Senan Kilbride kicked four crucial second-half scores and 0-05 overall.
Favourites Cavan actually hinted early on that they may run away with it, after scoring the game's first four points and should have gone seven ahead but for a missed a penalty from Martin Dunne.
Midfielder Gearoid McKiernan lorded it early on, kicking the first score and also winning the penalty after being fouled by Cathal Cregg but full-forward Dunne saw his spot-kick pushed onto the left upright by goalkeeper Darren O'Malley and out for a '45.
Martin Reilly did at least punt over the '45 to put Cavan three ahead and Niall McDermott's second point left them 0-04 to 0-00 up.
Niall Daly opened Roscommon's scoring in the ninth minute but a Dunne point and another from James McEnroe left Cavan 0-06 to 0-01 up after 14 minutes.
Cavan threatened to run amok but surprisingly did not kick on as Roscommon finally found their feet.
Shine booted back-to-back points from frees and Kilbride added Roscommon's third without reply.
It left the Rossies just 0-07 to 0-05 behind after 25 minutes and they then closed the gap to just one point at half-time.
David Keenan scored a delightful goal three minutes before the break, lobbing the 'keeper after a superb solo run to leave Cavan just 0-09 to 1-05 up at half-time.
Just like the earlier Division 4 decider, it was a tit-for-tat second half full of drama.
Three Roscommon points in a row from Kilbride and Donie Shine (2), put them two up with 20 minutes remaining.
And Roscommon did not let up in the run in with a great finish moving them three clear before a late Niall McDermott Cavan point.
Roscommon: D O'Malley; N Carty, N Collins, S McDermott; D Keenan (1-00), N Daly (0-02), C Cafferkey; C Shine, K Higgins (0-01); D O'Gara (0-01), D Shine (0-06, 0-05f), D Donnelly; S Kilbride (0-05, 0-03f), C Cregg, C Murtagh.
Substitutes: R Stack for Donnelly, C Compton (0-01) for Murtagh, M Finneran for O'Gara, F Cregg (0-01) for D Shine, C Burns for Higgins, D Flynn for C Cregg.
Cavan: C Gilsenan; R Dunne, J Hayes, F Flanagan (0-01); J McEnroe (0-01), A Clarke, D O'Reilly; G McKiernan (0-02), K Brady; C Mackey (0-02), N McDermott (0-04), M Reilly (0-03, 0-01 45); J Brady, M Dunne (0-03), E Keating (0-02, 0-01f).
Substitutes: K Clarke for Brady, M Argue for McEnroe, M Lyng for Brady, R Maloney-Derham for Clarke, D Givney for Lyng, K Tierney for Keating.
Referee: S Hurson (Tyrone).