Fermanagh ended the first half on a high with Marty McGrath finishing a classy move.
Not surprisingly Monaghan made a change at the break with Ciaran Hanratty replacing Rory Woods in attack.
The visitors showed new-found urgency at the start of the second half and points from Thomas Freeman, Eoin Lennon and Finlay made it a one-point game.
But the Erne side hit back with a Keenan free and Mark Little point although Monaghan were soon back on the scoresheet through Hanratty.
Man-of-the-Match Marty McGrath gives his thoughts on Fermanagh's victory
A close game became one-sided in an instant on 54 minutes when McElroy nipped in between keeper Paraic Duffy and a defender to fist home after Keenan's attempt at a point fell short of goal.
Shane McCabe, the Glentoran soccer player brought on as a substitute, superbly pointed from a tight angle to put Fermanagh six clear.
Frees from Thomas Freeman and Finlay suggested a possible comeback but those hopes ended with two minutes left when McQuaid received a straight red card.
Fermanagh will play the winners of next weekend's game between Donegal and Derry.
Fermanagh: R Gallagher, S Goan, H Brady, P Sherry; D Kelly, R McCluskey, T McElroy; M Murphy, L McBarron (1-0); R Keenan (0-3), J Sherry, M Little (0-1); E Maguire (0-1), M McGrath (capt) (0-1), C McElroy (1-1). Subs: S McCabe (0-1) for J Sherry, M Keenan for C McElroy, S McDermott for Brady.
Monaghan: S Duffy; D Mone, JP Mone, D McArdle; D Freeman, G McQuaid, D Morgan; E Lennon (0-1), P Finlay (0-3); D Clerkin, S Gollogly, C McManus (0-1); R Woods, V Corey (0-1), T Freeman (0-3).Subs: C Hanratty (0-1) for Woods, D Hughes (blood) for D Freeman, Hughes for Morgan, Woods for Gollogly.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.