Donegal secured their place in the Division 1 semi-finals while Armagh will face a relegation play-off after Saturday's game finished level in front of 500 fans.
It was a cracking contest played on a summer evening and it was Paddy McBreaty's sweet kicking that earned his side a draw.
Tiernan Kelly’s goal on 55 minutes restored a four-point lead for Armagh but Donegal did what they do and reeled the Orchard County in to secure the draw.
Armagh were forced into making a few changes from the team that lost to Tyrone last week, with Ross Finn making his senior debut in place of the injured Aidan Forker.
Former AFL rookie Ross McQuillan also started for the first time since 2019, with the injured Ryan Kennedy missing out and Armagh were boosted by quick recovery of teak-tough defender James Morgan, despite the Crossmaglen defender leaving the pitch in a moon boot last week.
Donegal were also without their talisman Michael Murphy, with the talented Eoin McGettigan coming in and Stephen McMenamin was a late change for Oisin Gallen and Eoin McHugh replaced Neil McGee.
Armagh led by four points at half-time with Oisin O’Neill’s 50-metre strike from play capping off an impressive first-half display.
The hosts were seeking their first win over Donegal since that victory in Crossmaglen in 2010, and they got off a super start by racing into a five-point lead in the opening 20 minutes.
Rory Grugan pointed in the first minute and points followed from captain Stefan Campbell (0-03) and full-back James Morgan before Grugan notched his second point. Paddy McBreaty opened Donegal’s account and it was the 22nd minute before Ryan McHugh added their second.
The 2019 Ulster champions had a bit more success in the second quarter with Michael Langan and Niall O’Donnell replying with points in quick succession.
McBreaty was on target again and just as it seemed Donegal were closing the gap, Armagh had an answer and Oisin O’Neill kicked three fine points to keep the Orchard ahead by two scores at the break.
Michael Langan was given space and time to fire in Donegal’s goal and within the first ten minutes of the restart, team-mates Ciaran Thompson and O’Donnell tagged on points.
Armagh kept their noses in front with Jemar Hall, Kelly and Conor Turbitt on target, but McBreaty grabbed a late brace and O’Donnell’s equalising point came in the seventh of the additional minutes to secure Donegal’s place in the top two of the divisional group.
Armagh: Blaine Hughes; Ross Finn, James Morgan (0-01), Greg McCabe; Connaire Mackin, Aaron McKay, Ciaron O’Hanlon (0-01); Niall Grimley, Jarly Og Burns; Jemar Hall (0-01), Rian O’Neill, Ross McQuillan; Rory Grugan (0-03, 3f), Oisin O’Neill (0-04, 1f), Stefan Campbell (0-04).
Subs: Conor Turbitt (0-01) for Morgan (ht), Tiernan Kelly (1-01) for McQuillan (41), Paul Hughes for Finn (64), Andrew Murnin for Burns (70), Jack Grugan for O O’Neill (70).
Donegal: Shaun Patton; Eoghan Ban Gallagher, Eoin McHugh, Brendan McCole; Ryan McHugh (0-01), Paul Brennan, Peadar Mogan; Hugh McFadden, Caolan McGonagle; Ciaran Thompson (0-01), Eion McGettigan, Michael Langan (1-01); Patrick McBrearty (0-08, 3f), Stephen McMenamin, Niall O’Donnell (0-2, 1f).
Subs: Odrhan McNeilis for P Brennan (40), Conor O’Donnell (0-02) for McGettigan (40), Caolan Ward (0-01) for E McHugh (67).
Referee: Maurice Deegan (Laois).