Armagh stunned Tyrone on their own Healy Park patch to score a massive derby win that takes them through to the third round of the All-Ireland SFC Qualifiers.
The Orchard men, coming off a replay defeat to Monaghan last weekend, brought an intensity and hunger to the contest that a subdued Red Hand side was strangely unable to match.
And when they lost centre back Mattie Donnelly to a second yellow card before half-time, Mickey Harte’s men were fighting an uphill battle.
Chasing the game desperately late in the game, the home side failed to score in the final 22 minutes, and limped out of the All-Ireland series on the back of a three points defeat that should have been greater.
The tension was palpable even before throw-in, and the game was just seconds old when a melee broke out, involving up to ten players from each side.
Referee Cormac Reilly flashed yellow cards to Armagh’s Aidan Forker and Tyrone defender Mattie Donnelly as order was restored and the Orchard began to dictate the pace and direction of the game.
Tyrone goalkeeper Niall Morgan was a busy man at both ends, converting a long range free before pulling off a save from Jamie Clarke, pushing the ball around a post for a ‘45, from which Tony Kernan brought the scores level at 0-2 each.
The Tyrone defence was exposed again when Tony Kernan sent wing back Mark Shields through, but he opted to kick for a point, and sliced his effort wide.
Kernan eased the Orchard into a two points lead with his third placed ball conversion in the 27th minute, and the Red Hands suffered a massive blow on the half-hour when centre back Donnelly picked up a second yellow card and the home side was left with just 14 men.
They also lost full back Ronan McNamee with concussion, due to an earlier clash of heads with team-mate Colm Cavanagh.
Armagh, however, managed just one further point in the closing 15 minutes of the half, while Sean Cavanagh knocked over a couple of frees to go in at the break trailing by 0-7 to 0-5.
Stephen O’Neill came off the bench and won the frees from which Cavanagh edged Tyrone in front by the 41st minute, but Armagh survived a difficult spell to go back on the attack with three points on the spin.
Corner back Andy Mallon surged forward to hit the target, and substitute Aaron Kernan steered over a free to give Armagh a two points cushion.
Two Darren McCurry frees had 14-man Tyrone level for the fifth time, but Morgan had to come to their rescue again, with a splendid stop from substitute Rory Grugan.
It was Grugan who hit the target from distance to make it a three point game going into the final 15 minutes, and with Ciaran McKeever,. Andy Mallon and Charlie Vernon performing with assurance at the back, there was no way through for Tyrone, who failed to score in the final 23 minutes of the game.
Tyrone: N Morgan (0-1, f) , A McCrory, R McNamee, PJ Quinn, R McNabb, M Donnelly, J McMahon, C Cavanagh, S Cavanagh (0-5, 5f), E McKenna, K Coney (0-1), C McGinley, D McCurry (0-2, 2f), N McKenna (0-1), C McAliskey.
Subs: C Gormley for McNamee (32), B Tierney for McGinley (32), S O’Neill for McAliskey (h-t), M Penrose for Quinn (47), P McNeice for E McKenna, Mark Donnelly for Coney (62)
Armagh: P McEvoy, M Murray, J Morgan, A Mallon (0-1), M Shields (0-1), C Vernon, C McKeever, S Harold (0-1), A Findon, A Forker, K Dyas, S Campbell (0-1), T Kernan (0-4, 3f, 1 ’45), S Forker, J Clarke (0-3, 2f).
Subs: A Kernan (0-1, f) for Morgan (40), K Carragher for S Forker (44), R Grugan (0-1) for A Forker (54), B Donaghy for T Kernan (66), F Moriarty for McKeever (BC, 33)
Referee: C Reilly (Meath).