Tyrone won their first Ulster U21 title since 2006 with a last-gasp point against Donegal at Celtic Park.
Danny McNulty converted a stoppage-time free to condemn Donegal to a third successive decider defeat.
Donegal had just gone in front when Conor Meyler netted the only goal on nine minutes to help the Red Hands to a 1-6 to 0-6 lead at the interval.
Substitute Stephen McBrearty brought Donegal level in the 68th minute before McNulty fired over the winning point.
McNulty off-loaded to Meyler, who skipped past his marker before slotting a low, angled shot past Danny Rodgers to put Tyrone in front.
Cathal McShane's point opened up a three-point gap, before Tir Conaill responded with points from Ciaran Thompson and Darach O'Connor.
Eoin McHugh's fine individual score was cancelled out by Lee Brennan, and after Ciaran McLaughlin was black-carded for a foul on Ryan McHugh, Hugh McFadden punished Tyrone from the free.
But the Red Hands finished the first half strongly, with Michael Cassidy and Brennan tagging on neat scores for a three-point lead at the break.
Donegal had scores from Willie Gillespie and McFadden, and when Darach O'Connor swept over a 53rd minute free, just a point separated the sides.
Substitute McBrearty equalised but the Red Hands rallied right at the death with McShane winning the free which McNulty converted.
Tyrone: S Fox, R Mullan, P Hampsey, M Cassidy (0-1), C McLaughlin, R Brennan, K McGeary, F Burns, C McShane (0-1), C Meyler (1-0), M Kavanagh, M Walsh, L Brennan (0-4, 2f), D McNulty (0-4, 3f), R McGlone (0-1).
Subs: R Kelly for McLaughlin (BC, 28), M Bradley for McGlone (44), S McKenna for Burns (55), P McKenna for Kavanagh (BC, 58)
Donegal: D Rodgers, C Morrison, C Parke, J O'Brien, R McHugh, D Mulgrew, E Gallagher, T McClenaghan, C Thompson (0-1, f), O Crawford, L Connor, D O'Connor (0-2), W Gillespie (0-1), H McFadden (0-5, 4f), E McHugh (0-2).
Subs: E McGrath (0-1) for McClenaghan (h-t), S McBrearty (0-1) for Morrison (h-t) J Brennan for Connor (53), C Mulligan for Crawford (54), C McGonagle for Gillespie (58)
Referee: N Mooney (Cavan)