Tyrone scored their third straight Allianz Football League Division 1 win by seeing off 13-man Donegal 1-13 to 0-12 at Healy Park.
Goalkeeper Niall Morgan converted two long-range frees, and saved a penalty from Michael Murphy, who was sent off on a second booking just before half-time.
Tyrone led by 0-06 to 0-04 at the break, and Stephen O’Neill hit a 40th-minute goal.
Colm McFadden finished with five points from frees, but the All-Ireland champions lost Neil Gallagher to a second yellow card late on.
The Tyrone players provided a pre-match guard of honour as the Sam Maguire Cup holders made their way onto the Healy Park turf.
Just 10 seconds had elapsed when Rory Kavanagh ran on to Leo McLoone’s pass and smashed a shot against an upright.
Goalkeeper Niall Morgan expressed his relief by drilling a ’45 between the posts, his opening score quickly cancelled out by a Colm McFadden free.
And Tyrone were also denied by the woodwork, Conor McAliskey hitting an upright after Stephen O’Neill’s cross had skidded past Eamonn McGee.
Mark Donnelly and Sean Cavanagh were both on target to ease the home side into a two points lead, but Donegal, with Rory Kavanagh a driving force in midfield, went level by the 27th minute, Murphy hitting a couple of gems and converting a ’45.
Morgan drilled a 47-metre free between the posts, and Ronan McNamee sliced over a wonderful score to restore the two points cushion.
But Donegal were awarded a penalty in the final minute of the half, Ryan McKenna penalised for hauling down Ross Wherity as he went for goal.
That was the point where it all went wrong for Murphy.
First he saw his penalty superbly saved by Morgan, and moments later he was sent off after receiving a second yellow card from referee Joe McQuillan.
Tyrone led by 0-06 to 0-04 at half-time, and tightened their grip on the game with a Stephen O’Neill goal five minutes after the restart.
He collected Ryan McKenna’s cross at the far post and sent in an angled shot which Neil McGee could only deflect into the net as he desperately attempted a block.
Morgan stepped up again to plant another long-range free between the posts and, when O’Neill stroked over a point, the Red Hands led by five with just 10 minutes of the second half played.
The loss of Murphy was being sorely felt by a Donegal side forced onto the back foot for sustained spells.
They did manage points on the breakaway from McFadden and substitute Paddy McBrearty.
And they did have a goal chance when Wherity got in behind his marker, but his shot was cleared off the line by Conor Clarke.
McFadden brought his tally to five - all from frees - but Donegal were reduced to 13 men three minutes from the end when Neil Gallagher picked up a second yellow card.
Morgan clinched the man of the match award with a stunning late save from McFadden.
Tyrone scorers: S O’Neill 1-2 (0-1f), N Morgan 0-3 (2f, 1 ’45), P Harte (2f), S Cavanagh 0-2 each, R McKenna, Joe McMahon, R McNamee, Mark Donnelly 0-1 each.
Donegal scorers: C McFadden 0-5 (5f), M Murphy 0-3 (1 ’45), L McLoone, A Thompson, R Wherity, P McBrearty 0-1 each.
Tyrone: N Morgan, A McCrory, C Clarke, Justin McMahon, R McKenna, Joe McMahon, R McNamee, M Murphy, C Cavanagh, P McNeice, P Harte, Mattie Donnelly, C McAliskey, S O’Neill, Mark Donnelly.
Subs: M Penrose for McAliskey (30), A Cassidy for Murphy (h-t), C Cavanagh for McNeice (55), C Gormley for Justin McMahon (62), R O’Neill for Mark Donnelly (62)
Donegal: P Durcan, P McGrath, N McGee, E McGee, A Thompson, F McGlynn, D Walsh, M McHugh, L McLoone, R Bradley, C McFadden, M Mur;phy, P McBrearty.
Subs: P McBrearty for McElhinney (h-t), R McHugh for Bradley (47), D Molloy for M McHugh (56)
Referee: J McQuillan (Cavan).