Monaghan preserved their Allianz Football League Division 1 status with a dramatic win over Dublin at a sun-drenched Clones.

Monaghan had led for most of the game, which saw both sides finish with 14 men, but Dublin drew level with an injury-time penalty by Dean Rock as they seemed to time their run to perfection.

Fittingly, however, it was Jack McCarron who capped a superb individual performance by nailing a 45-metre free deep into added time to save Monaghan's long-held top-flight status, just as he had done in last year’s relegation play-off against Galway.

McCarron finished with 2-06 to his name, including the deftest of lobs for his second goal on the three-quarter mark.

Monaghan were depleted by the absence of several key players, including top scorer Conor McManus, and when Dublin raced ahead early on, with Seán Bugler and Cormac Costello looking lively up front, they looked like firm favourites.

Monaghan dug in, however, with points from Conor McCarthy and Darren Hughes getting the home crowd going, before Seán Jones weaved his way past a couple of tackles to slot home the opening goal on 10 minutes.

Shane Carey made it 1-03 without reply for Monaghan and although Rock ended a 12-minute scoreless spell for Dublin, Conor Boyle and McCarron replied to stretch the hosts' lead.

Seán Jones of Monaghan gets past Michael Fitzsimons of Dublin on his way to scoring his goal

Rock and Costello brought the Dubs back within two at half-time (1-07 to 0-08), but Monaghan started the second half strongly with quick points from Gary Mohan and Kieran Hughes, before the former won a penalty that saw McCarron coolly push them seven clear.

Dublin responded almost instantly with a hat-trick of points by Costello, Bugler and impressive sub Lee Gannon, but McCarron’s brilliant lob made it 3-10 to 0-13 in Monaghan’s favour heading into the final quarter, by which stage they were down to 14 after their captain Ryan Wylie picked up two quick yellow cards.

Despite losing James McCarthy to a second booking, a series of frees by Rock helped Dublin eat into their deficit and although Kieran Hughes and McCarron hit back, the drama reached fever pitch down the home straight.

Rock’s nerveless penalty brought Dublin level on 71 minutes, but after both sides had missed chances to edge ahead, McCarron had the final say to move Monaghan out of the relegation zone and consign Dublin to Division 2 for 2023.

Monaghan: Rory Beggan; Drew Wylie, Conor Boyle (0-01), Ryan Wylie (Capt.); Conor McCarthy (0-01), Ryan McAnespie, Dessie Ward; Darren Hughes (0-01), Niall Kearns; Fintan Kelly, Kieran Hughes (0-02), Shane Carey (0-01f); Seán Jones (1-00); Gary Mohan (0-01f), Jack McCarron (2-06, 1-0 pen, 0-03f).

Subs: Colin Walshe for Carey, Andrew Woods for Jones (both H-T); Karl O’Connell for Kelly (44); Killian Lavelle for D Hughes (64); Kieran Duffy for K Hughes (69); Conor McManus for Walshe (73).

Dublin: Michael Shiel; Michael Fitzsimons, David Byrne; Jonny Cooper; Eoin Murchan, James McCarthy, Robbie McDaid; Brian Fenton, Tom Lahiff; Brian Howard (0-01), Seán

Bugler (0-02, 1m), Niall Scully; Cormac Costello (0-04, 1m), Ciarán Kilkenny, Dean Rock (1-09, 1-0 pen, 0-8f).

Subs: Lee Gannon (0-02) for Lahiff (22); Cian Murphy for McDaid (inj., 29); Brian O’Leary for Scully (57); Lorcan O’Dell for Costello (64); Alex Wright for O’Leary (inj., 69).

Referee: Noel Mooney (Cavan)