Roscommon registered 1-5 without reply in the last four minutes to record a wonderful 1-17 to 3-9 win in Thurles.
Tipperary looked like certain winners as they led by six going into the closing stages but Diarmuid Murtagh's 31st-minute pointed free started the rousing Rossies revival and the same player netted two minutes from time before tying up the scores with a 50-yard free in added time after Niall Daly had halved the deficit with 2,344 looking on.
Donie Smith and captain Conor Devaney slotted the sealing points in the third and fourth minutes of injury time at the end of a superb contest.
Conor Sweeney's 20th-minute penalty goal had Tipp ahead at the break by 1-6 to 0-6. Second-half three-pointers from Sweeney (2-4, his second penalty conversion coming in the 38th minute) and Michael Quinlivan (55) - who had earlier rattled the crossbar - had the hosts on course for a second successive win but Murtagh and Kevin McStay's never-say-die Rossies had other ideas.
Roscommon - C Lavin; D Murray, J McManus, N McInerney; F Lennon (0-1), S Mullooly, C Devaney (0-2); T O'Rourke, E Smith; N Daly (0-1), N Kilroy (0-2), Fintan Cregg (0-1); D Murtagh (1-4, 0-3f), C Lennon (0-1), C Murtagh (0-3f). Subs: B Stack for Fintan Cregg, Finbar Cregg for S Mullooly, D Smith (0-2, 1sl) for C Murtagh, I Kilbride for T O'Rourke, C Daly for E Smith, R Daly for F Lennon.
Tipperary - E Comerford; S O'Connell, J Meagher, A Campbell; B Maher, R Kiely, J Feehan; L Casey (0-1), S O'Brien; J Keane, J Kennedy (0-1f), B Fox; C Sweeney (2-4, 2-0pen, 0-2f), M Quinlivan (1-0), L McGrath (0-2, 1f). Subs: L Boland (0-1) for L McGrath, K Fahey for J Kennedy, G Hannigan for L Casey.
Referee - N Mooney.Tweet