Armagh charged into the All-Ireland SFC quarter-finals with a comfortable Qualifier win over Donegal at Clones, reversing a comprehensive Ulster Championship defeat at Ballybofey a few weeks ago.

Rian O'Neill starred with a 1-7 haul as the Orchard followed up their win over All-Ireland champions Tyrone with another compelling performance.

The Orchard men struck for goals at either end of the first half, and added a third in the final quarter to stay ahead of a chasing opponent down the home straight.

Michael Murphy’s return to the edge of the square was not enough to give Declan Bonner’s side the cutting edge they needed up front, with the skipper managing just one point from play.

Rory Grugan stunned Donegal with a goal after just ten seconds. Fed in by Rian O’Neill from the throw-in, he won the ball ahead of Caolan Ward and gave Shaun Patton no chance with a bullet.

But Donegal’s response was emphatic, as they replied with six scores in the space of ten minutes to take control.

Three of them came from Murphy, stationed inside in a departure from manager Bonner’s preference for his captain’s deep-lying, probing role.

Just as they had done in the Ulster Championship win at Ballybofey, Donegal pressed the Orchard kick-out and won ample possession around the middle, prising the openings for Ryan McHugh, Paddy McBrearty and Shane O’Donnell to hit the target as well as they opened up a three-point lead.

Armagh, who had toppled All-Ireland champions Tyrone a week earlier, hit back with points from O’Neill and Grugan, but trailed by four going into the final ten minutes of the opening half.

Patton was sin-binned in the first half

All changed when they found a way to master Shaun Patton’s previously excellent kick-outs.

It was two intercepted short re-starts that did much of the damage.

First Stefan Campbell had a shot saved off the line by Caolan Ward, with O’Neill converting the resultant ’45, and soon afterwards goalkeeper Patton was black-carded after another kick-out malfunction saw him haul down Aidan Nugent, conceding a penalty that O’Neill buried past stand-in 'keeper Caolan McGonagle.

Attacker Paddy McBrearty was sacrificed for the remainder of the half as substitute goalkeeper Michael Lynch was sent in, a substitution that was reversed as soon as Patton’s time in the sin-bin had expired.

Armagh’s 2-8 to 0-10 interval lead was a fair reflection of their powers of recovery, and with momentum in their favour, they pressed home the advantage with the first five scores of the second half, including a magical solo effort from the brilliant O’Neill.

Donegal were struggling to cope with the intensity of their opponents’ tackling, but retrieved some ground with scores from Murphy (2f) and Jason McGee.

Armagh were in the mood, however, and hit the men from the north-west on the counter for a third goal, slid home by midfielder Stephen Sheridan from Ben Crealey’s assist.

Donegal went route one in the final ten minutes, but could find no joy, with O’Neill getting back to punch a number of deliveries to safety, and Greg McCabe and goalkeeper Rafferty also proving masters of the skies.

Delightful scores from Grugan and substitute Conor Turbitt, and a third from influential wing back Jarly Og Burns, confirmed that this was to be their day, and the end of the road for Donegal.

Armagh: E Rafferty; J Morgan, A Forker, C O'Neill; A McKay, G McCabe, J Og Burns (0-03); S Sheridan (1-00), B Crealey; R Grugan (1-03 (0-1f), S Campbell (0-01), R O’Neill (1-07, 1-0 pen, 0-2f, 0-1 ’45); A Nugent, A Murnin, J Duffy (0-01).

Subs: C Turbitt (0-02) for Murnin (56), J Hall for Sheridan (63), M Shields for Nugent (65), C Higgins for Duffy (69), J Kieran for C O’Neill (73)

Donegal: S Patton; C Ward, B McCole, A Doherty (0-01); R McHugh (0-01), E Ban Gallagher, O McFadden Ferry; C McGonagle, J McGee (0-01); C Thompson (0-01), M Langan, P Mogan; P McBrearty (0-01), M Murphy (0-06, 5f), S O’Donnell (0-04).

Subs: M Lynch for McBrearty (31), McBrearty for Lunch (37), J Brennan for Thompson (45), C O’Donnell for Ward (58), N O’Donnell (0-01) for Langan (63), J McKelvey for McHugh (63)

Referee: B Cawley (Kildare).