The gulf in class between the teams was evident as Bernard Brogan's goal helped the Dubs lead 1-13 to 0-6 by half-time.
Dublin led by 13 when Fermanagh scored a dubious goal as Sean Quigley pushed Stephen Cluxton over his own goal-line.
Paul Flynn quickly netted for Dublin although Tomas Corrigan hit a late second Erne goal after a mix-up.
Corrigan's goal came in injury-time as Cluxton and a Dublin defender left the ball to each other after a Fermanagh shot had been blocked which allowed Corrigan to nip in and slam into the empty net.
Media playback is not supported on this device
The three late goals lifted the atmosphere at Croke Park with Dublin fans annoyed by Quigley's controversial goal and Fermanagh's supporters delighted by the spirit shown by their team.
Peter McGrath, rightly, praised his team's refusal to submit to the heavy defeat that looked likely for the majority of the contest.
But while Dublin Jim Gavin will note his team's late sloppiness, the job in hand of qualifying for a semi-final meeting with either Mayo or Donegal on 30 August had been achieved.
Some bookmakers had rated the Dubs as 1-200 to win Sunday's contest and pundits had suggested that a Fermanagh victory would have represented the biggest shock in GAA history.
In the event, Fermanagh had 59% of the possession in the first half but were still decidedly second best as Dublin's pace, movement and shooting, had them chasing shadows for the most part.
Quigley's first score cancelled out late Dublin inclusion Paddy Andrews's opening point but two Ciaran Kilkenny efforts helped the Leinster champions lead 0-4 to 0-1 before Brogan netted a glorious opening goal.
Brogan was given far too much space by marker Niall Cassidy as he was picked out by a glorious long ball from Jack McCaffrey before coolly slotting past Thomas Treacy.
Fermanagh did fire eight first-half wides but several of the shots were speculative whereas the Dubs were able to work the ball into genuine scoring positions seemingly at will.
Barry Mulrone did show his colleagues how to hit the target as he struck a couple of fine efforts from play.
However, Dublin's slick play was emphasised by their 1-13 first-half total all coming from play as Brogan hit 1-4 and Dean Rock and the impressive Diarmuid Connolly both contributing 0-2.
It was largely more of the same in the third quarter with free-taker Rock, Brogan and Andrews all on target on multiple occasions.
Media playback is not supported on this device
Brian Fenton's point in the 59th minute increased Dublin's advantage to 1-21 to 0-11 as the game seemed to be petering out only for Cluxton's controversial own goal to stir some passions.
Quite how the Fermanagh goal was allowed to stand is anyone's guess as Quigley clearly pushed a bemused Cluxton over the line with the umpire eventually waving his green flag after consulting with referee Padraig O'Sullivan.
Quigley's subsequent laughter indicated his amazement that the goal had been allowed to stand.
Dublin, however, didn't see the funny side and within two minutes the ball was in the net at the other end as Rock and Brogan combined to set up Flynn to palm to the net.
Fermanagh sub Conal Jones was given space to kick two fine points from distance before the Ernemen scored another bizarre goal in injury-time as Corrigan blasted home as Cluxton and his defenders left the ball to each other.
TEAMS
Dublin: S Cluxton; J Cooper, R O'Carroll, P McMahon; J McCarthy, C O'Sullivan, J McCaffrey; B Fenton (0-1), D Bastick; P Flynn (1-0), C Kilkenny (0-3), D Connolly (0-2); D Rock (0-7), P Andrews (0-3), B Brogan (1-6). Subs: MD Macauley for Bastick, K McManamon for Kilkenny, A Brogan for Connolly, M Fitzsimons for Cooper, J Small for McCarthy, C Costello for Andrews
Fermanagh: T Treacy; M Jones, M O'Brien, N Cassidy; D McCusker, R McCluskey, J McMahon; E Donnelly, R O'Callaghan; B Mulrone (0-3), R Jones, R Corrigan; P McCusker, Sean Quigley (1-8), T Corrigan (1-2). Sub: D Kelly for P McCusker, T Daly for M Jones, C Jones (0-2) for D McCusker, D Kille for R Corrigan
ALL-IRELAND SFC QUARTER-FINALS RESULTS
DUBLIN 2-23 2-15 FERMANAGH
KERRY 7-16 0-10 KILDARE
Dublin earned their expected place in the All-Ireland Football semi-finals as they clinched a comfortable 2-23 to 2-15 win over a battling Fermanagh side.