Armagh produced a devastating display of football to demolish Donegal 3-17 to 0-16 and ensure their place in Monday’s All-Ireland quarter-finals draw.
The Orchard men looked in trouble as Donegal responded to Rory Grugan’s goal after only 10 seconds by moving into a four-point lead by the 21st minute.
But Armagh hit back at Clones with a stunning unanswered 1-6 as man of the match Rian O’Neill netted a penalty.
Four ahead at half-time, Stephen Sheridan added a third Armagh goal.
After his subdued display in the Ulster Championship game at Ballybofey seven weeks ago won comfortably by Donegal, O’Neill was the orchestrator for the rampant Orchard men as he finished with a 1-7 tally including four points from play.
O’Neill’s 30th-minute penalty was the crucial moment of the game as he blasted past stand-in Donegal keeper midfielder Caolan McGonagle after Shaun Patton had been black carded for hauling down the impressive Aidan Nugent.
The goal put Armagh 2-6 to 0-9 ahead and in truth they never looked back thereafter as Donegal – beaten in the Ulster Final by Derry two weeks ago – wilted.
The victory was greeted with euphoria by the Armagh dominated attendance with the Orchard County supporters appearing to outnumber the yellow and green of Donegal by a margin of around 10 to one.
After this wonderfully energetic display which once again superbly mixed the short and long games, Armagh will fear no one in the quarter-finals in two weeks time whether they face Dublin, Kerry, Galway or indeed Ulster champions Derry.
For Donegal, this was another hammer blow of a defeat as they remain without an All-Ireland semi-finals appearance since 2014 and while Declan Bonner has another year left on his contract, it remains to be seen whether he will remain in charge for a sixth season.
Armagh: E Rafferty; J Morgan, A Forker, C O’Neill; A McKay, G McCabe, J Og Burns; S Sheridan, B Crealey; R Grugan, S Campbell, A Murnin; A Nugent, R O’Neill, J Duffy.
Subs: B Hughes, M Shields, N Rowland, C Higgins, C O’Neill, E Woods, C Turbitt, R McQuillan, J Hall, J Kieran, C McConville.
Donegal: S Patton; C Ward, B McCole, A Doherty; R McHugh, EB Gallagher, O McFadden Ferry; C McGonagle, J McGee; C Thompson, P Mogan, M Langan; P McBrearty, M Murphy (capt), S O’Donnell.
Subs: M Lynch, N O’Donnell, H McFadden, C O’Donnell, P Brennan, N McGee, J McKelvey, D O Baoill, S McMenamin, J Brennan, C McColgan.
Referee: B Crawley (Kildare)