A return to familiar surroundings at Croke Park brought a typical win for Dublin, who ended Mayo's 100% start to the Allianz Football League Division 1 campaign with a commanding display.

Man of the match Cormac Costello led the scoring for the holders with 1-04 as Mayo once again came up short against the Dubs in a significant game at GAA Headquarters.

Dublin have lost their two away games in Division 1 so far and came into the contest off the back of a one-point defeat to Kerry in Tralee but thrived and led virtually throughout.

Mayo kicked themselves for failing to convert a first-half penalty but in truth were playing catch up all evening as they slipped to a first league loss in James Horan's second stint in charge.

Ciarán Kilkenny was also on the mark for Dublin in his first action of the season after an extended break.

Cian O'Sullivan and David Byrne also started in defence while Darren Daly came on, bringing to 32 the number of different players that have featured for Dublin in just four games so far.

Mayo, with three wins from three beforehand, came to Croke Park looking to reignite their old rivalry with the Dubs whom they lost All-Ireland finals to in 2013, 2016 and 2017.

Yet Dublin supporters could question the legitimacy of that rivalry given that no team under Jim Gavin has lost a game to Mayo.

And after taking the opening 20 minutes or so to gauge Mayo this time, Dublin turned on the afterburners and surged clear.

Keith Higgins and Colm Boyle tackle Dublin's Cormac Costello

It was 0-02 apiece in the 19th minute when Costello scored Dublin's opening goal, leaving Keith Higgins for dead on the left before darting clear and beating Rob Hennelly at his near post.

Paul Mannion, Kilkenny, Costello and Jack McCaffrey all added points to put Dublin seven points ahead and they held a commanding 1-06 to 0-03 lead at the interval, most of the damage done when Lee Keegan was spending ten minutes in the sin-bin for a cynical body collide.

It could have been so much more with three Dublin point attempts dropping short and Mayo 'keeper Hennelly pulling off no less than four top-drawer first-half saves.

Mayo scored just one point from play in the first-half, an 18th minute score from talented newcomer Fionn McDonagh with Hennelly converting their other two scores from placed balls.

Lee Keegan gets a black card

Mayo did have their chances but also dropped a number of point attempts short while Andy Moran blazed a shot wide and Jason Doherty had a 33rd minute penalty saved.

The second-half was a damp squib with Mayo needing a goal to make it interesting but failing to provide one.

Matthew Ruane narrowed the deficit with a Mayo point after the restart but they only scored another 0-03, through sub Kevin McLoughlin and free-taker Doherty, as their attack misfired badly on the evening.

Dublin weren't exactly at their free-flowing best, adding points from Costello, Con O'Callaghan, Brian Fenton and substitute Dean Rock, but it was more than enough to secure the win that keeps them in the race for a final place.

The second-half stretched to 77 minutes due to a bizarre incident when an umpire was accidentally floored by Mayo's Colm Boyle, requiring treatment for the official.

Mayo's Aidan O'Shea goes flying under pressure from Dubs Cian O'Sullivan and Brian Fenton

Dublin: Evan Comerford; Jonny Cooper, David Byrne, Michael Fitzsimons; Jack McCaffrey (0-01), Cian O'Sullivan, Eoin Murchan; Brian Fenton (0-01), Darren Gavin; Niall Scully, Con O'Callaghan (0-01), Brian Howard; Paul Mannion (0-02, 0-01f), Ciaran Kilkenny (0-01), Cormac Costello (1-04, 0-02f).

Subs: Dean Rock (0-02, 0-01m, 0-01f) for Kilkenny 49, Paddy Andrews for Mannion 58, Sean Bugler for Howard 64, Darren Daly for Fitzsimons 65, Michael Darragh Macauley for Gavin 67.

Mayo: Rob Hennelly (0-02, 0-01f, 0-01 45); Keith Higgins, Ger Cafferkey, Brendan Harrison; Lee Keegan, Colm Boyle, Patrick Durcan; Matthew Ruane (0-01), Donal Vaughan; Fionn McDonagh (0-01), Aidan O'Shea, Ciaran Treacy; Andy Moran, Brian Reape, Jason Doherty (0-02, 0-02f).

Subs: Chris Barrett for Cafferkey 20, Kevin McLoughlin (0-01) for Treacy 35, Seamus O'Shea for Durcan h/t, Fegal Boland for Moran 58, Stephen Coen for Reape 70.

Referee: Barry Cassidy (Derry).