Rian O'Neill fired 1-04 in a scintillating display as Kieran McGeeney's Armagh beat Dublin in the opening round of the Allianz Football League at Croke Park.

Both the Crossmaglen star and Jason Duffy found the net during a devastating 20-minute spell before half-time where the Orchard County scored 2-07 to the Dubs’ 0-02.

With Dublin hoping to restore belief after the manner of their All-Ireland semi-final collapse against Mayo last summer, hitting the opening two points through Brian Howard and Cormac Costello should have calmed them.

By the 23rd minute, however, the alarm bells were ringing as Armagh and O’Neill took over the game.

O’Neill notched two points while Aidan Nugent and Duffy hit one apiece before the first goal of the game arrived.

A sloppy Howard handpass was intercepted by Rory Grugan in his own half and he fed Nugent around midfield, with the latter arrowing a long kick into the danger area.

O’Neill collected the ball, drove at goal and slotted to the bottom corner past Evan Comerford.

The rangy forward blasted over a bomb from 35 yards just minutes after, and though Cormac Costello and Ciaran Kilkenny pointed either side of it, the orange jerseys were in charge.

Their dominance was underlined by a lovely Duffy goal on 28 minutes. He skipped past John Small at the edge of the 'D’, before clipping the ball over Comerford and into the net.

It kickstarted a scoring run of 1-03 without reply for the Orchard County before the interval, with the Dubs looking strangely off-colour.

Errant shooting, sloppy passing, and poor decision-making blighted their performance as Armagh led by 2-08 to 0-05 at half time.

The Dubs rang the changes and improved somewhat after the break but the visitors might have scored more had they been more clinical.

O’Neill and Grugan kept the scoreboard ticking for the Ulster side while Cameron McCormack, Niall Scully and a hat-trick of Dean Rock frees narrowed the deficit for Dublin.

Connaire Mackin and Stefan Campbell fired over counter-attacking points for McGeeney’s charges, before the Dubs gave themselves a lifeline.

The Orchard brigade hit 6-36 in two Ulster Championship games last summer, but defensive frailties have been one of their main stumbling blocks.

On 59 minutes, a Tom Lahiff high ball into their penalty area caused mayhem. One of the smallest men on the field, Ross McGarry, caught the ball eight yards out but his shot was blocked by an Armagh defender.

On the rebound, Lorcan O’Dell pulled the ball into the net with his left foot, and suddenly the door was opened for a comeback.

Their bid was undermined by three missed scoring chances in a row, however, as Lahiff, Niall Scully and Brian Fenton all missed from favourable positions.

Greg McCabe and Niall Grimley raised white flags for Armagh late on, with McCabe also smashing a shot off the crossbar from 14 yards out during injury-time.

Dublin: Evan Comerford; Lee Gannon, David Byrne, Eoin Murchan; Tom Lahiff, Brian Howard (0-01), John Small; Brian Fenton, Emmet O Conghaile; Sean Bugler (0-02), Ciaran Kilkenny (0-01), Niall Scully (0-01); Aaron Byrne, Cormac Costello (0-03; 1f), Ryan Basquel.

Subs: Ross McGarry for A Byrne (16), Dean Rock (0-03, 3f) for Costello (30), Cameron McCormack (0-01) for O Conghaile (ht), Lorcan O’Dell (1-01) for Basquel (51), Sean McMahon for Murchan (68).

Armagh: Blaine Hughes; Paddy Burns, Aidan Forker, Aaron McKay; Connaire Mackin (0-01), Niall Rowland, Jarly Og Burns; Ciaran Mackin, Ben Crealey; Jemar Hall, Rory Grugan (0-04, 1f), Tiernan Kelly (0-01); Jason Duffy (1-01), Rian O’Neill (1-04, 1f), Aidan Nugent (0-01).

Subs: Niall Grimley (0-01) for Crealey (35+3), Stefan Campbell (0-01) for Hall (ht), Greg McCabe (0-01) for Rowland (52), Ross McQuillan for Duffy (59), Mark Shields for McQuillan (62), Stephen Sheridan for O’Neill (70).

Referee: Fergal Kelly (Longford).