Bernard Brogan hit a magnificent 1-10 as Dublin recorded a 2-14 to 0-16 win against Mayo in a gripping Allianz League Division 1 tie at Croke Park.
After Dublin led by three the Connacht champions hit back with with six unanswered points, including three from Jason Doherty, but Dublin moved 1-08 to 0-08 ahead by half-time.
Although Kevin McLaughlin then kicked Mayo ahead and Kenneth O’Malley saved a Stephen Cluxton penalty, a second goal from substitute Kevin McManamon drove on the Dubs who had Ger Brennan sent-off in the 42nd minute.
Jim Gavin's side, who were most impressive in their victories over Cork and Kerry in the opening two rounds, started this contest in buoyant fashion.
They found themselves three points to the good inside the opening six minutes, with all their scores coming from 2010 Footballer of the Year Brogan.
Mayo soon got a grip of the play around the middle, however, and they were back on level terms by the 13th minute, courtesy of points from Aidan O'Shea, playing in a new position of centre forward, and Doherty (0-02).
This helped to settle James Horan's charges and with Dublin having lost some of their early momentum, Enda Varley, Lee Keegan and Doherty chipped in with some excellent points from play.
Having defeated the Dubs in the counties' last two meetings, Mayo looked in determined mood to make it three on the bounce but Dublin refused to panic.
Brogan led their attack superbly and they levelled matters with a brace from the Oliver Plunketts/Eoghan Ruadh clubman and one from midfielder Cian O'Sullivan.
Quick-fire scores from Brogan (free) and Paddy Andrews soon reasserted Dublin's superiority and their goal followed. Brogan finished clinically past Mayo goalkeeper O'Malley with a sweet finish after he linked up brilliantly with Paul Flynn.
Some of that momentum was lost though as Mayo responded with a couple of injury-time points from the industrious Varley and Michael Conroy, reducing the deficit to three (1-08 to 0-08) in time for the interval.
Mayo kicked on again on the resumption with three points in as many minutes from Doherty (0-02) and half-back Keegan.
A point from substitute McManamon helped Dublin to retake the lead on 40 minutes, but their hand was reduced significantly when centre-back Brennan was issued with a straight red card by referee Cormac Reilly following off-the-ball incidents involving Conroy and opposite number Donal Vaughan.
That looked like it was going to give Mayo the edge heading into the final half hour, and with McLaughlin (0-02) and Doherty kicking three points without reply, the pendulum had certainly swung in their direction.
A fantastic penalty save by O'Malley from Dublin custodian Cluxton in the 47th minute had the potential to dent Dublin's confidence to an even greater degree.
But they made light of their numerical disadvantage by finding the back of the Mayo net for a second time with 20 minutes to go. McManamon coolly finished to the bottom corner after getting the better of Mayo captain Keith Higgins.
It proved to be one of the pivotal moments of the game as Dublin soon added on four points without reply, three of which came from Brogan.
The best of Brogan's lot was a phenomenal sideline kick with the outside of his boot). The hosts now had a considerable hold over their western rivals moving into the final ten minutes.
Keegan did lash over his third point when a goal looked on with five minutes remaining, but with the peerless Brogan fisting over from a tight angle, Mayo were resigned to their second defeat in three games.
The result saw Gavin's charges make it three successive wins in Division 1 and gain some measure of revenge for their All-Ireland semi-final defeat to Mayo at the same venue last year.
Highly-rated forward Ciarán Kilkenny, who turned his back on an Australian Rules career, also make his comeback in blue, playing for the county's senior side for the first time since that reversal to the Connacht champions last September.
Dublin's 2011 All-Ireland winning captain Bryan Cullen also made his seasonal debut, getting on for the closing 20 minutes after returning to the fold in recent weeks.
Dublin: Stephen Cluxton (capt); Kevin O'Brien, Rory O'Carroll, Johnny Cooper; Darren Daly, Ger Brennan, Jack McCaffrey; Declan O'Mahony, Cian O'Sullivan (0-01); Paul Flynn, Tomas Brady, Ciaran Reddin; Paddy Andrews (0-02), Ciarán Kilkenny, Bernard Brogan (1-10, 0-05f, 0-01sl) .
Subs used: Kevin McManamon (1-01) for Brady (20 mins), Darragh Nelson for O'Carroll (half-time), Bryan Cullen for Reddin (52 mins), Paddy Quinn for Kilkenny (61), Nicky Devereux for McCaffrey (65).
Mayo: Kenneth O'Malley; Chris Barrett, Ger Cafferkey, Keith Higgins; Lee Keegan (0-03), Donal Vaughan, Colm Boyle; Jason Gibbons, Barry Moran; Kevin McLoughlin (0-03, 0-02f), Aidan O'Shea (0-01), Richie Feeney; Enda Varley (0-02), Jason Doherty (0-06, 0-03f), Michael Conroy (0-01).
Subs used: Cathal Carolan for Gibbons (45 mins), Seamus O'Shea for Moran (52), Tom Cunniffe for Feeney (61).
Referee: Cormac Reilly (Meath).