Donegal and Armagh will have to meet again to decide who will face Derry in the Ulster semi-final as they finished level on twelve points apiece after this hard fought encounter in Clones.
And it will be Armagh who are more relieved as it took an Oisín McConville point on the stroke of time to save Joe Kernan's side's blushes.
Three minutes earlier Christy Toye nearly made himself a Donegal hero, as he restored his side's lead after they had held the upper hand all the way in the second.
Both sides were reduced to fourteen men during the game, Donegal losing midfielder Kevin Cassidy on the half-hour mark after he got a straight red for on off the ball incident involving Martin O’Rourke, and Armagh losing substitute Paddy McKeever also for a straight red ten minutes from the end.
In a hugely physicial encounter referee Joe McQuillian flashed seven yellow cards, as well as the two reds.
Brendan Devenney got the games opening point from a free inside a minute and with Armagh struggling to find their rhythm eleven minutes had elapsed before Ronan Clarke opened their account.
Armagh raced in 0-5 to 0-2 lead thanks to three points in three minutes in the middle of the second quarter from Oisin McConville, Ronan Clarke, and Aaron Kernan.
Armagh led at halftime by two points 0-7 to 0-5, Brian Roper and Adrian Sweeney with late points giving the men from the North West some hope.
Two quick points from Colm McFadden at the start of the second half tied up the game as 14-man Donegal took the fight to the champions.
And they were much the better side for most of the second half as Adrian Sweeney and McFadden found the range to propel the men from the north west into a three points lead before Ronan Clarke got Armagh’s first point of the second half.
And while Sweeney restored the three-point advantage Armagh spurned on by Paul McGrane in the middle of the park the Orchard county struck back with points from Brian Mallon, McGrane and Aaron Kernan to tie up the game at 11 each with five minutes remaining.
When Toye struck three minutes from the end of normal time it looked as if his score was going to be the critical score but, as so often in the past, McConville proved his teams saviour.
Toye had a chance to swing the result back in Donegal's favour with an injury-time free-kick, but the miss means that the two sides will meet once again in Clones next Saturday evening.
Armagh: P Hearty; A Mallon, F Bellew, P McCormack; Aaron Kernan (0-2,F), K McGeeney, C McKeever; J Toal, P McGrane (0-1); M O’ Rourke, J McEntee, O McConville (0-2,1F); S McDonnell (0-2), R Clarke (0-3), Brian Mallon (0-2).
Subs: A O’ Rourke for C McKeever; A McCann for P McCormack; P McKeever for M O’ Rourke:
Donegal: M Boyle; E McGee, R Sweeney, K Lacey; D Diver, B Monaghan, S Carr; N Gallagher, K Cassidy; C Toye (0-1), M Hegarty, B Roper (0-1); C McFadden (0-5F), B Devenney (0-1F), Adrian Sweeney (0- 4).
Subs: R Kavanagh for B Devenney:
Referee: Joe McQullian (Cavan)