Tyrone 1-13 1-11 Monaghan
Tyrone edged past 13-man Monaghan in a tense and niggly Ulster SFC struggle at a rain-sodden Healy Park.
Monaghan moved 0-5 to 0-3 ahead but a Brian McGuigan goal helped Tyrone lead 1-7 to 0-6 by the break as the Farney men also had Dick Clerkin dismissed.
Martin Penrose missed a Tyrone penalty and Monaghan were back in the game at only two down with 20 minutes left as Darren Hughes slotted a spot-kick.
But Monaghan couldn't get on terms and had Dessie Mone sent-off late on.
In the wet conditions, Monaghan made a promising start with two Conor McManus points helping them take a 0-2 to 0-1 lead, with Martin Penrose registering Tyrone's opening score.
A towering Sean Cavanagh effort levelled the contest but two Paul Finlay frees edged the Farney County two ahead by the eighth minute.
The excellent Brian McGuigan then exhibited his sharpness with a superb run and shot which skimmed over the bar with Monaghan keeper Mark Keogh beaten.
McGuigan looked set to net the first goal of the game seconds later after an unselfish pass by debutant Mark Donnelly but Mone produced a superb tackle to dispossess the Ardboe man.
Monaghan corner-forward McManus was giving Cathal McCarron a torrid time - as emphasised by the off-the-ball challenge by the Tyrone defender on the Monaghan man, which the free-taker gratefully accepted.
Mickey Harte felt the need to respond quickly as he sent on Dermot Carlin in place of McCarron.
Then came one of the crucial moments of the match as a turnover led to McGuigan's goal.
Kieran Duffy was dispossessed by Aidan Cassidy and with Peter Harte quickly finding Stephen O'Neill, the fit-again full-forward played a superb pass to McGuigan who delivered an emphatic finish.
Peter Harte quickly rattled over another Tyrone point from a '45 to extend the home team's lead to three.
Monaghan suffered a massive blow in the 25th minute as Clerkin received his second yellow card - only a minute after both he and Cavanagh had received cautions from referee Cormac Reilly.
The second yellow was for an unwise late tackle on Cavanagh but Clerkin's dismissal did appear a tad harsh.
Clerkin's departure heralded a loss of discipline by his team-mates.
A series of shoving matches near the Monaghan goals was concluded by Cavanagh notching another Tyrone point and O'Neill's superb score from a tight angle left the Red Hand side with a double scores (1-7 to 0-5) advantage.
Monaghan had not scored in 20 minutes but Hughes' charge toward the Tyrone goals yielded another free for McManus in first-half injury-time.
Half-time Monaghan substitute Christopher McGuinness forged a goal chance for himself on 40 minutes but, in the wet conditions, he spilled possession and the opportunity was lost.
Penrose had a glorious chance to kill off the Monaghan challenge after Conor Galligan fouled Donnelly in the large parallelogram but the Tyrone free-taker blazed the penalty wide.
A Cavanagh point left Tyrone seemingly cruising at five ahead but Monaghan were dramatically back in the game with 20 minutes left as Hughes slotted a penalty.
Dermot Carlin spilled an innocuous ball into the Tyrone defence and with Ryan McMenamin bundling over McManus, a penalty was the correct adjudication.
A classy O'Neill point extended Tyrone's lead to three again but a harsh free against Martin Swift - after he was incorrectly adjudged to have touched the ball on the ground - saw McManus cutting the margin again.
Mulligan announced his return to championship action with a superb point 13 minutes from time after he had replaced Penrose.
Points at either end from O'Neill and Darren Hughes meant that there was still only a kick of the ball between the sides.
Finlay's long-range effort left only two between the sides with two minutes of normal time left.
Monaghan finished with 13 men as Mone rightly received a straight red card in injury-time for a high challenge on Philip Jordan.
And the match ended in messy fashion with Monaghan players claiming that Mulligan should also have seen red for an off-the-ball challenge as the referee blew the final whistle.
But there were no further cards to add to the two reds and 10 yellows.
Tyrone: P McConnell, M Swift, C McCarron, R McMenamin, D Harte, C Gormley, P Jordan, A Cassidy, S Cavanagh, B Dooher, B McGuigan, P Harte, M Penrose, S O'Neill, M Donnelly.
Monaghan: M Keogh, K Duffy, D Hughes, C Walshe, C Galligan, D Mone, O Duffy, O Lennon, D Clerkin, S Gollogly, M Downey, N McAdam, D McKenna, P Finlay, C McManus.
Tyrone scorers: Penrose 0-2, S Cavanagh 0-4, B McGuigan 1-1, P Harte 0-2, O'Neill 0-3, Mulligan 0-1
Monaghan scorers: McManus 0-6, Finlay 0-4, Hughes 1-1
Other weekend results
Munster SFC semi-final
Limerick 3-9 1-26 Kerry
Leinster SFC semi-finals
Meath 0-10 0-16 Kildare
Dublin 1-16 1-11 Laois
Cork 5-17 2-8 Waterford