Both teams passed up decent scoring opportunities early in the second period with Dublin’s Cormac Costello pulling a gilt-edged goal chance past the post in the 42nd minute.
Mistakes were beginning to dominate with the greasy conditions not helping matters, but Paddy Small finally got the scoring for the second half under way with a Dublin point to level it up for the fifth and final time, only for Canavan to nudge Tyrone ahead immediately after.
Points from Ciaran Daly and Niall Devlin extended the lead to three and that remained the gap when Con O’Callaghan, sprung from the Dublin bench for the final 20 minutes, made an immediate impact with a score.
Ciaran Kilkenny narrowed the gap to one, but Tyrone always had an answer with Ciaran Daly responding.
Paddy Small brought it back to the minimum again and in the 59th minute, Dublin had a sniff of goal as Luke Breathnach opted to square instead of fisting over, but Niall Morgan read the danger and got there ahead of the lurking Costello.
Both teams were guilty of poor misses, but Dublin more so with 10 shots past the post and six into Morgan’s hands a major reason for their undoing, but the gap remained one into the final five minutes when Tyrone broke for home as substitute Ruairi Canavan began a run of six points which included a two-point free from Morgan at the death to see Malachy O’Rourke’s men into the last four.
Dublin: S Cluxton (0-1, 1×45); E Murchan, D Byrne, S MacMahon; B Howard, J Small, L Gannon; P O’Cofaigh-Byrne (0-1), K McGinnis; S Bugler, C Kilkenny (0-1), N Scully (0-1); P Small (0-2), C Costello (0-6, 2f), B O’Leary (0-2).
Subs: C Murphy for K McGinnis (44), C O’Callaghan (0-1) for B O’Leary (50), L Breathnach (0-1) for N Scully (57, head injury), T Lahiff for P O’Cofaigh-Byrne (59), R McGarry for S Bugler (65), T Clancy for E Murchan (68)
Tyrone: N Morgan (0-3, 1x2pf, 1×45); C Quinn, P Hampsey, N Devlin (0-1); P Teague (0-2, 1x2p), R Brennan, K McGeary (0-2, 1x2pf); B Kennedy, C Kilpatrick; S O’Donnell, M Donnelly, C Daly (0-2); D McCurry (0-2, 1f), P Harte (0-4, 2x2p), D Canavan (0-3).
Subs: B McDonnell for R Brennan (44), E McElholm (0-1) for D McCurry (52), A Clarke for C Quinn (56), C Meyler for P Teague (59, head injury), R Canavan (0-2) for P Harte (63), M O’Neill for K McGeary (68)
Referee: D Coldrick (Meath)