Tyrone qualified for the Ulster U20 Football Championship with a four-point win over Cavan at Clones, and they'll face holders Derry in the final at the Athletic Grounds next Sunday.
The Red Hands had to work hard to get the better of a stubborn Cavan side who will have lingering regrets over the quality of their finishing.
Darragh Canavan led the way for Tyrone with four points, with substitutes Michael Conroy and Peter Óg McCartan each hitting two to help them over the line late on.
Canavan worked his magic out on the left and slotted over a neat opening score in the fourth minute, but the quality of finishing from both sides left something to be desired, with Cavan particularly culpable as they shot a rash of wides.
Tyrone landed a couple of efforts into the arms of the goalkeeper, before getting back on track with a Liam Gray score in the 14th minute.
Both sides channelled extra bodies deep into their own halves, making it a frustrating afternoon for attackers, but the Red Hands did stretch the advantage with Sean Óg McAleer free, followed by a second for Canavan.
It wasn’t until the 24th minute that Cavan ended a sequence of six wides with their opening score, slotted over by full-forward Patrick Lynch.
Philip Rogers added another, but Ruairi Gormley and McAleer replied for the Red Hands as they took a 0-6 to 0-2 lead into the interval.
Cavan missed a golden goal chance early in the second half when Cormac O’Reilly created the opening for substitute Miceal Muldoon, but his low, angled shot zipped just wide at the far post.
The Breffni men pushed extra men forward, but struggled to break down a solid Tyrone defence, although Cormac Reilly and Lynch did narrow the gap to two.
Michael Conroy came off the bench to make an impact, bringing a terrific save from Cavan goalkeeper Gary O’Rourke, and slotting over a couple of points as they pushed for home.
McCartan also came off the bench to score twice for Tyrone, giving them a four points cushion in stoppage time, as Cavan full forward Lynch smashed a shot against the crossbar with the very last kick.
Tyrone: O Grimes; A Clark, C Quinn, P Mullan; C Grimes, A Fox, C Devlin; R Gormley (0-01), O Mallon; L Gray (0-01), D Canavan (0-04, 1f), M McKearney; J Garrity, S Og McAleer (0-02, 2f), T Quinn.
Subs: E Jordan (0-01) for Mallon (BC 26), D McGuigan for Grimes (41), M Conroy (0-02, 1f) for Gray (44), P Og McCartan (0-02) for T Quinn (55), R Jones for Devlin (60)
Cavan: G O’Rourke; P Rogers (0-01), P Meade, D Cusack; O Brady (0-01), C Timoney, B Smith; R Patterson, C Donohue; P Nulty, C Madden (0-01), J Cooke; C O’Reilly (0-01), P Lynch (0-05, 3f, 1 ’45), T Reilly.
Subs: M Muldoon for Cooke (18), S Duffy for Rogers (36), K Cosgrove for O’Reilly (44), O Clarke for Patterson (52), L Molloy for Donohue (52), G Mannion for Reilly (54)
Referee: S Laverty (Antrim).