Ulster Senior Football Championship final
TYRONE 0-16 MONAGHAN 0-15
By Paul Keane at Croke Park
Tyrone are Ulster football champions for the first time since 2017, overpowering Monaghan in a tense Croke Park arm wrestle to join the Farney County on 16 provincial titles.
Victory and an All-Ireland semi-final clash with Kerry on the weekend of August 14/15 didn't come without a real struggle though, Darren McCurry ultimately kicking the winning point from a 67th minute advanced mark.
It had looked like Tyrone might win their first provincial title since Mickey Harte's departure a little easier when they bossed the first-half to take a five-point lead.
But Monaghan turned in a strong second-half display and drew level with 20 minutes to go to push the Red Hands all the way.
Seamus McEnaney's men couldn't push on to match their provincial wins of 2013 and 2015, however, with Tyrone retaking the lead through sub Cathal McShane and remaining narrowly ahead until full-time.
It means that Tyrone join Kerry and Mayo in the Championship's last four while Dublin and Kildare will battle out in the remaining provincial decider tomorrow.
Monaghan exit the Championship with their heads held high though must be sick of meeting Tyrone at Croke Park having also lost All-Ireland quarter-finals to them there in 2013 and 2015 and a semi-final in 2018.
They at least went down fighting and whatever McEnaney said at half-time clearly did the trick because they returned a different team, turning the game on its head and making for a fascinating finale.
Tyrone had largely had it their way in the opening half and deservedly led by 0-11 to 0-6 at half-time.
Scores for the 2018 All-Ireland runners up simply came easier with Monaghan forced to dig so deep just to create an opportunity for themselves.
Tyrone were content to control the possession and then pick their points when the openings emerged. Kieran McGeary, for instance, spotted an opening in the 18th minute after a series of passing and demanded the ball before splitting the post with a left footed shot from distance.
Padraig Hamspey came up from defence and curled one over from the outside of his boot. Michael McKernan and Darren McCurry then showed their poise to get shots away under pressure and increase Tyrone's lead. It was calm and it was purposeful and it must have been so pleasing for new joint managers Brian Dooher and Feargal Logan in their first season in charge.
Monaghan, meanwhile, lived off scraps in the form of points from Jack McCarron, McManus, Killian Lavelle and Rory Beggan.
Conor McCarthy got one too, Monaghan's last of the first-half though Tyrone, typically, responded with scores from Mattie Donnelly and Mark Bradley to take that five-point lead into the interval.
When Monaghan returned, they were a different team, determined not to exit the Championship without a real fight.
McCarthy pointed within seconds of the restart and they wore Tyrone down with relentless aggression, drawing a series of frees that Beggan and McManus gleefully converted.
Goalkeeper Beggan strode upfield and had an attempt for a point from play but Hawk-Eye ruled that it went just wide.
It was fine margins like that which cost Monaghan because while they drew level at 0-12 apiece they couldn't take the lead and fell into Tyrone's slipstream again late on.
Beggan was involved in one memorable play when he raced back to dispossess Donnelly but the score Monaghan so badly needed from the subsequent attack didn't materialise and Tyrone held on.
Scorers for Tyrone: Darren McCurry 0-5 (0-2f, 0-1m), Mattie Donnelly 0-3 (0-1f), Mark Bradley 0-2, Padraig Hampsey 0-1, Niall Sludden 0-1, Michael McKernan 0-1, Kieran McGeary 0-1, Cathal McShane 0-1, Peter Harte 0-1.
Scorers for Monaghan: Conor McManus 0-5 (0-3f), Jack McCarron 0-3 (0-1m), Rory Beggan 0-2 (0-2f), Conor McCarthy 0-2, Killian Lavelle 0-1, Conor Boyle 0-1, Kieran Duffy 0-1.
Tyrone: Niall Morgan; Michael McKernan, Ronan McNamee, Padraig Hampsey; Michael O'Neill, Kieran McGeary, Peter Harte; Brian Kennedy, Conn Kilpatrick; Conor Meyler, Conor McKenna, Niall Sludden; Darren McCurry, Mattie Donnelly, Mark Bradley.
Subs: Niall Kelly for O'Neill 18, Cathal McShane for Kennedy 46, Darragh Canavan for Kilpatrick 54, Ronan O'Neill for Bradley 65.
Monaghan: Rory Beggan; Kieran Duffy, Conor Boyle, Ryan Wylie; Karl O'Connell, Dessie Ward, Ryan McAnespie; Darren Hughes, Killian Lavelle; Conor McCarthy, Aaron Mulligan, Stephen O'Hanlon; Conor McManus, Jack McCarron, Micheal Bannigan.
Subs: Shane Carey for Mulligan 31, Colin Walshe for O'Connell h/t, Niall Kearns for Hughes h/t, Kieran Hughes for O'Hanlon 54, Andrew Woods for McCarthy 63.
Referee: David Gough (Meath).