An opportunist goal from captain Paul McGrane helped Armagh claim a three-in-a-row of Ulster SFC titles today, as they swatted away Donegal in a 1-09 to 0-09 win at Croke Park.

Midfield dynamo McGrane crept through to blast to the Donegal net just 51 seconds into the second half - they also triumphed in 1999, 2000, 2002, 2004 and 2005.

Ronan Clarke and Adrian Sweeney both scored 0-03 for their respective sides as Armagh became the first team since Down (1959-60-61) to claim an Anglo Celt Cup hat-trick.

The sides were level at 0-04 apiece at the interval. Sweeney pointed twice for Donegal in the opening half while Oisín McConville became the Ulster championship's top scorer with his 219th point.

In front of 50,715 spectators, Armagh then pulled clear but Paul Hearty had to save from Stephen McDermott at the death to deny Donegal a draw.

The sides' sixth championship meeting in the last five years began rather fractiously. The tackling was tough, no quarter was given in a crowded midfield and referee Mick Monahan dished out eight yellow cards – five to Donegal – in a foul-laden first half.

Neither side got into a rhythm and as evidence of such, there were 19 frees awarded inside the opening 24 minutes.

Former All Star Sweeney opened the scoring for Donegal with a fourth-minute free, but just seconds later, McConville created history in front of Hill 16 when he clipped over a free for his 219th point (10-189) in Ulster championship history, eclipsing the previous mark set by Tyrone legend Peter Canavan.

The powerful Clarke proved to be Armagh's best forward in the opening half – the 23-year-old dummied past Paddy Campbell to point from a tight angle for a 0-02 to 0-01 lead and he levelled matters at 0-03 apiece with a sweet point on the run in the 20th-minute.

Donegal's slickest move of the match, involving a series of swift hand passes, had played Sweeney in for his second point on 11 minutes as he dummied past his marker Francie Bellew and popped it over.

Sweeney, operating in a two-man full-forward line with Conal Dunne, increased his influence by laying off a quick free for Rory Kavanagh to point Donegal 0-03 to 0-02 in front, but Clarke quickly tied the game up.

Neil McGee then came to his side's rescue when getting in a vital interception as Malachy Mackin looked to get through for a shot on goal.

As the half came to a close, Donegal coughed up a couple of chances as Sweeney's radar failed him on two occasions and the 23-year-old Dunne gallingly dropped a close-in free short.

Donegal wing-back Barry Dunnion dinked over a shot from the right wing, but John McEntee replied just before the break, making use of an overlap, to level the sides for the fourth time.

McGrane's goal, which saw him carry past both Karl Lacey and Neil McGee before unleashing an stoppable shot to the top left corner of Paul Durcan's net, sprung Armagh out of the traps for the second half.

It afforded Joe Kernan's men the ideal cushion to see out the win – their sixth defeat of Donegal in seven championship encounters.

Credibly, the Tir Chonaill men never gave up hope of capturing their first Ulster crown since 1992. Frees from Dunne and Sweeney helped cut the gap back to two points, with Armagh's Steven McDonnell opening his account.

Indeed, substitute Colin Kelly, on for Dunne, launched over an inspirational score to make it a one-point game – 1-05 to 0-07 – ten minutes into the second half, but somehow the Orchard men always had an iron grip on their lead.

The champions kicked the next three points to ease any fears their supporters had of an upset – McConville (free), Clarke and McEntee, with a sweeping score from distance, all pointed. Aaron Kernan even had the ball in the net in the 49th-minute, but his effort from the right sideline, which dropped through the fingers of Donegal 'keeper Durcan, was ruled out for a square ball.

A point from Armagh corner-back Andy Mallon – his first in the championship – was sandwiched by efforts from Eamonn McGee and Michael Hegarty (free), and as Donegal threw caution to the wind, some sterling defending from former skipper Kieran McGeeney, who reverted effortlessly into the Armagh half-back line, kept them at bay.

Hegarty did get the better of the Armagh rearguard in injury-time as his well-timed hand pass played substitute McDermott in for a last-gasp goal chance. However Hearty was equal to the low, angled shot, diving to his left to palm it away, and with that, Donegal's dream was over.

Armagh: P Hearty; A Mallon (0-01), F Bellew, E McNulty; A Kernan, C McKeever, P Duffy; K McGeeney, P McGrane (capt) (1-00); M O’Rourke, J McEntee (0-02), M Mackin; S McDonnell (0-01), R Clarke (0-03), O McConville (0-02 (2f)).

Subs used: P McKeever for Mackin (52 mins), A O’Rourke for Duffy (70+2)

Donegal: P Durcan; K Lacey, P Campbell, N McGee; E McGee (0-01), B Monaghan, B Dunnion (0-01); N Gallagher, B Boyle; C Toye (capt), M Hegarty (0-01 (1f)), C Bonner; R Kavanagh (0-01), C Dunne (0-01 (1f)), A Sweeney (0-03 (2f)).

Subs used: C Kelly (0-01) for Dunne (43 mins), D Diver for Boyle (53), S McDermott for Sweeney (58)

Referee: Michael Monahan (Kildare)