Monaghan survived a furious Armagh comeback in a sizzling tie in the Páirc Esler sunshine to reach their first Ulster SFC final since 2015.
Monaghan's four-goal first-half blitz, with Jack McCarron, Conor McManus, Micheal Bannigan and Darren Hughes netting, gave them an eight-point lead.
But Armagh came roaring back to go in front with goals from subs Conor Turbitt and Tiernan Kelly. Monaghan finished strongly though to progress.
It was an incredible show of resilience from Monaghan, with the entire county reeling from the news of underage star Brendán Óg Duffy's death on Friday night.
After a dull start, the Ulster series has come alive, with cracking ties on successive weekends with Donegal and Derry going toe-to-toe last week, and this one will live long in the memory.
Armagh, who haven't appeared in the provincial decider since 2008, thought they had achieved the breakthrough as they edged ahead 10 minutes from the end, but Monaghan’s experience carried them through in a dramatic finish.
Wearing black armbands in memory of the county’s Under-20 captain Duffy, who died tragically in a road accident just hours earlier, the Farney Men displayed character and pride to survive when the tide had turned very much in their opponents’ favour in the closing stages.
The first sign of problems in the Armagh cover saw them ruthlessly punished for a careless turnover, as McCarron and Ryan McAnespie combined to create the sort of opportunity that McManus doesn’t miss, and he rounded rookie goalkeeper Shea Magill to plant the ball in the net.
Rian O’Neill’s finishing kept Armagh in with a shout and Rory Grugan narrowed the gap to two.
And they almost had a freak goal when sweeper keeper Rory Beggan saw Andrew Murnin’s long delivery bounce over his head off the rock-hard surface as he stood stranded 20 metres out, but Ryan Wylie got back to scramble the ball off the line.
The Orchard County suffered a catastrophic kick-out malfunction in the 10th minute as McCarron picked up possession to drill his shot low to the net.
The crisis deepened five minutes later as they shipped a third goal, McCarron once again at the centre of it all, holding the ball up until his perfectly timed offload gave Micheal Bannigan an empty net to palm into.
Eight points adrift, Armagh clawed back with scores from Rian O’Neill, Jarly Og Burns and Grugan, who was now operating as an extra sweeper, but to little avail.
Monaghan sliced open the Orchard defence again to strike for goal number four in the 26th minute, McCarron providing the return pass for Darren Hughes to bury the ball past debutant Magill.
Once again, the home side set about repairing the damage, picking off points through Oisin O’Neill, Greg McCabe and Stefan Campbell, but two long-range frees from goalkeeper Beggan sent the Farney men in with a 4-09 to 0-14 interval lead.
McManus added two more from frees to restore the eight-point advantage, and while Armagh stepped up their levels of tenacity to force a series of turnovers, shot selection was an issue.
They did raise flags through Oisin O’Neill and subs Conor O’Neill and Conor Turbitt though.
Turbitt’s arrival brought the turning point that Armagh so badly needed, and he punched home a 52nd minute goal from Rian O’Neill’s long ball to give his side hope.
And when Tiernan Kelly danced past two defenders to smack home their second goal in the 61st minute, they were ahead.
Oisin O’Neill pushed them two clear, but there was no sign of panic in the Monaghan ranks as they pushed forward to carve out the chances that McManus converted from dead balls to send them into the decider.
Armagh: S Magill; J Morgan, A McKay, R Kennedy; C O’Hanlon (0-01), G McCabe (0-01), C Mackin; N Grimley (0-01), O O’Neill (0-03); J Hall, R O’Neill (0-06, 3fs), J Og Burns (0-01); R Grugan (0-03, 1f), A Murnin (0-01), S Campbell (0-01).
Subs: A Forker for McKay (28), C O’Neill (0-01) for O’Hanlon (ht), C Turbitt (1-01) for Grimley (ht), T Kelly (1-00) for Hall (49), R McQuillan (0-01) for Mackin (51).
Monaghan: R Beggan (0-02, 2fs); K Duffy, C Boyle, R Wylie; K O’Connell, K Lavelle, R McAnespie; D Hughes (1-00), N Kearns (0-01); M Bannigan (1-00), A Mulligan, D Ward (0-02); C McCarthy (0-01), J McCarron (1-01), C McManus (1-07, 5fs).
Subs: S O’Hanlon (0-02) for McCarthy (34), S Carey (0-01) for Mulligan (41), C Walshe for O’Connell (47), K Hughes for lavelle (48), A Woods for Kearns (58), F Kelly for D Hughes (72).
Referee: D Coldrick (Meath).