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.
Bookmark with:
What are these?