Donegal are back in the Ulster final having powered past Armagh with an impressive first half performance in Kingspan Breffni Park.

Donegal had 13 different scorers and Armagh had no answer to their forward play with Peadar Mogan and Niall O'Donnell to the fore.

They did most of the damage in the first half as they ran up a 1-12 to 0-03 lead, Armagh relying on Rian O'Neill for three pointed frees.

Mogan hit the Donegal goal in the dying minutes of the first half as he ghosted in along the end line to fire home. 

Leading by 12 points at half time, 1-12 to 0-3, Donegal kept the scoreboard ticking over in the second half.

Such was Donegal's potency in front of goal, they had 13 different scorers over the 70 minutes.

Donegal had one change from the Armagh game with Eoin McHugh in for Jeaic Mac Ceallabhui. However, the game was only four minutes old when Mac Ceallabhui was called in with Stephen McMenamin forced off.

That didn't slow Donegal who put together one of their most impressive openings halves of football. Michael Langan won the throw-in and strode forward to fire over. Indeed, there was a goal for the taking.

Eoghan Bán Gallagher doubled the lead before Armagh got back on terms with two Rian O’Neill frees by the ninth minute. But they would not raise another white flag until the 33rd minute with another O’Neill free.

In between Donegal took complete charge making impressive use of the forward mark.

By the water break Donegal led 0-05 to 0-02 with Jamie Brennan, Peadar Mogan and Caolan McGonagle pointing.

After the break Donegal were mesmerising at times. Hugh McFadden and Niall O’Donnell pointed from marks. Caolan McGonagle, Ryan McHugh and Niall O’Donnell pushed their lead out to 0-10 to 0-2.

Even after Rian O’Neill’s third free, Donegal struck for a goal. A high ball into Michael Murphy broke to Peadar Mogan near the sideline. Murphy went one way and Mogan outstripped the Armagh cover to cut in and fire to the net.

And before the half-time whistle, with Armagh in disarray Michael Langan (from 55m) and Ryan McHugh added to the tally for a 1-12 to 0-3 half-time lead.

Rian O'Neill with a free and '45’ cut the lead but Ciaran Thompson replied for Donegal. Jamie Clarke had Armagh’s first point from play in the 47th minute but two fisted points from Jamie Brennan and Patrick McBrearty, just after being introduced, had Donegal ahead 1-16 to 0-6 by the second half water break.

Michael Murphy got his first point while Jamie Clarke and substitute Conor Turbitt had Armagh points to put a better look on the scoreboard.

Murphy and Andrew McClean had Donegal points while Rian and Oisin O’Neill added to the Armagh tally.

Donegal: Shaun Patton; Stephen McMenamin, Neil McGee , Eoghan Ban Gallagher (0-01); Ryan McHugh (0-02), Paul Brennan, Eoin McHugh; Hugh McFadden (0-01), Michael Langan (0-03); Ciaran Thompson (0-02), Niall O'Donnell (0-02), Peadar Mogan (1-02); Caolan McGonagle (0-02), Michael Murphy (0-02), Jamie Brennan (0-02)

Subs: Jeaic Mac Ceallabhui for McMenamin 4; Andrew McClean (0-01) for P Brennan 41;  Patrick McBrearty (0-01) for J Brennan 49; Jason McGee for H McFadden 51; Oisin Gallen (0-01) for E McHugh 57.

Armagh: Blaine Hughes; Paddy Burns, Ryan Kennedy, James Morgan; Conor O'Neill, Aidan Forker, Mark Shields; Oisin O’Neill (0-01), Stephen Sheridan; Rory Grugan, Greg McCabe, Stefan Campbell; Jamie Clarke (0-02), Rian O’Neill (0-07), Jarlath Óg Burns

Subs:  Niall Grimley (0-01) for Sheridan 31; Andrew Murnin for Og Burns; Jemar Hall for C O’Neill, both ht; Ethan Rafferty for Murnin 46; Conor Turbitt (0-02) for Grugan 51

Referee: David Coldrick (Meath)