Tyrone finish with a flourish to bury Donegal and march into the All Ireland last four
Tyrone 2-17 Donegal 1-13
Tyrone produced a storming finish in Omagh that came up short over two weeks ago against Dublin. This time however, a big final quarter push was sufficient to reel in Donegal as Mickey Harte's side booked an All-Ireland semi-final with Monaghan on Sunday next.
Helped by a big impact off their bench, Tyrone swept aside the home side, who have lost a match in Ballybofey for the first time in eight years, outscoring them by 2-7 to 0-2 in the final 20 minutes, including seven minutes of added time.
Tyrone's energy and defiance in that final quarter was most impressive but the initial spark came from Lee Brennan whose 38th minute introduction gave Tyrone a different dimension as he helped himself to four points (one free).
Another substitute, Kieran McGeary, also gave them great drive while adding to an impressive defensive effort, spearheaded by Colm Cavanagh.
Donegal had looked comfortable in the third quarter, getting four points clear at one stage when Paddy McGrath scored his second-ever championship point in the 53rd minute.
But from then on Tyrone chased the game with renewed purpose with Harry Loughran, just as he had done in Navan, getting the crucial goal on 62nd minute when he chased a Tiernan McCann effort for a point that dipped short and got a touch past Shaun Patton.
From then on the advantage lay with the visitors and they capitalised with Mattie Donnelly and Peter Harte showing great leadership.
They put Shaun Patton's kick-out, previously untouchable, under added pressure and got rewards and when Niall Morgan landed a long-range free in the 68th minute for a 1-15 to 1-2 lead, Tyrone really sensed that this would be their day, avenging the defeats here in 2013 and 2015.
A well-worked counterattack between Loughran and Declan McClure, another replacement, saw McClure add a second goal deep into injury time.
A tight, tense first half saw Tyrone enjoy a slight upperhand for much of it but failure to convert frees, Conor McAliskey (twice) and Niall Morgan were costly.
Still, they got away to lead by two points twice, 0-3 to 0-1 when McAliskey did land a free after early scores from Tiernan McCann and Mark Bradley to Michael Murphy's reply from a pointed free and again at 0-4 to 0-2 when the influential Donnelly kicked off his left.
Tyrone didn't seem too inconvenienced by Michael McKernan's black card after only four minutes for taking out Ryan McHugh.
But Donegal dug deep and were patient, waiting for McHugh and Jamie Brennan to make the all important incisions.
McHugh and Ciaran Thompson got the home side level by the 23rd minute and while Cavanagh pushed Tyrone clear again Donegal injected more pace into it with Brennan twice pointing before McHugh snaffled a short Morgan kick-out to Padraig Hampsey on 35 minutes and set up Murphy for his first championship goal since the 2012 All-Ireland final and a four-point, 1-6 to 0-5 lead.
McAliskey responded with a free after Donnelly was once again fouled to leave just that goal in it at the break.
Scorers - Tyrone: L Brennan 0-4 (1f), D McClure, H Loughran 1-0 each, P Hampsey, C McAliskey (2fs), M Donnelly all 0-2 each, N Morgan, R McNamee, C Cavanagh, P Harte (f), K McGeary, T McCann, M Bradley all 0-1 each.
Donegal: M Murphy 1-2 (0-2fs), J Brennan 0-3, O MacNiallais 0-2, N O'Donnell, EB Gallagher, R McHugh, M Langan, C Thompson, P McGrath all 0-1 each.
Tyrone: N Morgan; M McKernan, R McNamee, F Burns; T McCann, M Donnelly, C Meyler; C Cavanagh, P Hampsey; C McShane, P Harte, N Sludden; C McAliskey, R Donnelly, M Bradley. Subs: R Brennan for McKernan b-c (4), L Brennan for R Donnelly (38), K McGeary for Burns (39), H Loughran for McAliskey (48), C McCann for McShane (53), D McClure for Sludden (68).
Donegal: S Patton; P McGrath, N McGee, S McMenamin; E Ban Gallagher, F McGlynn, E Doherty; H McFadden, L McLoone; R McHugh, M Langan, C Thompson; O MacNiallais, M Murphy, J Brennan. Subs: P Brennan for Thompson (49), N O'Donnell for MacNiallais (56), A Thompson for McGlynn (60), M McElhinney for Langan (63), M O'Reilly for McLoone (67), M McHugh for McGrath (71)
Referee: J McQuillan (Cavan)