Mediauppspelning stöds inte på den här enheten
MacNiallais första mål bidrog till Donegals tidiga 1-5 bly till 0-3 bly.
Fermanagh sänkte marginalen till två och hade en chans att leda innan pausen efter Neil McGees röda kort men Mark Anthony McGinley räddade Sean Quigleys straff.
Men MacNiallais andra mål på 44 minuter sätta Donegal i fast kontroll som Fermanaghs pjäs blev rasade.
MacNiallais var kanske lyckligt lottad att registrera det andra målet efter ett superbt drag med sin vänstra fot verkar vara på det lilla torget efter att ha tagit ett pass från Martin O'Reilly.
Donegals seger sätter upp en provinsiell semifinal mot innehavare Monaghan den 25 juni när de lag som är inblandade i de tre senaste Ulster beslutsfattare träffas igen.
Fermanagh, under tiden, kommer att möta Wexford bort i kval om två veckor.
Mediauppspelning stöds inte på den här enheten
Quigleys straff miss var det viktigaste ögonblicket i tävlingen som Donegal mästerskapet debutant McGinley kunde göra en bekväm räddning.
Donegal ledde 1-6 till 0-7 när straffet utdelades efter att McGee hade blivit rödkortad av Maurice Deegan för att ha slagit Ruairi Corrigan efter att han hade blivit befläckad av Fermanagh-mannen.
Den missade straff var den sista pjäsen i öppningen hälften som Donegal förblev framåt vid pausen.
Trots att Donegal var en man ner, tog Donegal kontroll i den andra perioden som MacNiallais palmed till nätet i 44: e minuten efter ett svepande drag efter en Fermanagh attack hade brutit ner.
Key Fermanagh försvarare Che Cullen, som hade bossat en kämpande Michael Murphy i öppet spel i första halvan, var svart kardade ögonblick senare och Donegal lagt till ytterligare tre obesvarade punkter för att göra resultatet utom allt tvivel.
Ryan Jones hade en målchans med 10 minuter kvar som skulle ha klippt Donegals bly till bara fyra men hans skott skummade över baren och med det, gick Fermanagh sista chansen att komma tillbaka in i spelet.
Mediauppspelning stöds inte på den här enheten
MacNiallais två mål kom vid avgörande tidpunkter - särskilt hans 44-minuters handflata ansträngningar - och han valde också en ytterligare punkt från spelet
Sent val Eoin McHugh lyste också för Donegal som han sparkade två poäng medan Frank McGlynn måste också ha varit en utmanare för mannen i matchutmärkelsen som han producerade flera avgifter i opposition territorium efter omsättning.
Martin O'Reilly var en annan stark närvaro för Rory Gallaghers sida.
Donegal manager Rory Gallagher: "Vi var besvikna över att förlora Neil till ett rött kort eftersom han är en av våra ledare.
"Jag tyckte att vi borde ha varit mer än två före på halvtid men vi grävde oss ur det och nu planerar för att möta Monaghan i semifinalen."
Fermanagh manager Pete McGrath: "I andra halvan av första halvan spelade vi exceptionellt bra. Vi hade dem på baksidan och vi lekte med självförtroende och energi.
"Men Donegals andra mål punkterade livet ur oss."
Donegal: MA McGinley; P McGrath, N McGee, E McGee; R McHugh, F McGlynn, A Thompson; R Kavanagh, E McHugh; L McLoone, M McElhinney, O MacNiallais; P McBrearty, M Murphy, M'Reilly.
Fermanagh: C Snö; M Jones, C Cullen, M O'Brien; D McCusker, J McMahon, B Mulrone; E Donnelly, A Breen; P McCusker, R Jones, R O'Callaghan; R Corrigan, S Quigley, T Corrigan.
SÖNDAGENS KAMPIONSRESULTAT
Leinster SFC-kvartsfinaler
Mjöd 0-20 1-13 Hög
Västmeath 0-13 0-12 Offaly
Munster SFC semifinal
Tips 3-15 2-16 Kork
Kerry 2-23 0-17 Clare
SFC-halvfinal för konnacht SFC
Ros vanliga 4-16 2-13 Sligo
LÖRDAGENS RESULTAT
Halvfinal i Leinster SHC
Dublin 0-16 1-25 Kilkenny
Christy Ring Cup relegation/främjande play-off
Derry 1-14 1-21 majonnäs
Nicky Rackard Cup relegation/främjande play-off
Fermanagh 0-12 7-19 Louth
Den Ulster Football Championship äntligen kom till liv som två Odhran MacNiallais mål hjälpte 14-man Donegal subdue Fermanagh i en eldig tävling.