Although four players were sent off in an explosive game when these Ulster rivals met a few weeks ago, this semi-final tie was lacking in intensity or controversy.
Tyrone did all the damage in the first half, hitting all three goals before the break, while Armagh’s poor shooting let them down.
For the second time this month, this fixture drew a big crowd to the Athletic Grounds with 7,552 turning up to see the latest installment between these Ulster rivals.
No-one could have predicted four goals – and no cards of any colour – in a subdued first half which was fairly open, but littered with poor passing and turnovers, particularly from Armagh.
Their goalkeeper Philip McEvoy wasn’t immune, and his poor kickout in the fifth minute was collected by Conor McAliskey who found PJ Lavery and his near-post shot flew in for the opening Tyrone goal.
Jamie Clarke started at wing-back for Armagh but was soon pushed forward into a stuttering Armagh attack and had a penalty appeal turned down after 17 minutes after being tackled by Tyrone ’keeper Mickey O’Neill.
Ronan O’Neill, in his first Tyrone appearance of the year, impressed at centre half-forward and sprayed a number of clever passes into Sean Cavanagh.
One of them led to Tyrone’s second goal, a move which Shay McGuigan finished with a scuffed shot to put the visitors 2-3 to 0-1 ahead after 24 minutes.
Armagh only hit one point in the opening 28 minutes before Stefan Campbell’s spectacular strike flew into the top of the net for a badly-needed goal.
Tyrone, who hit nine wides in the opening period (to Armagh’s three), weren’t rattled and Cavanagh hit goal number three in the 34th minute.
Shay McGuigan’s ball up the line was well won and held by McAliskey, who shrugged off two defenders before toe-poking the ball towards goal. McEvoy parried the shot but Cavanagh swivelled and drilled it high into the net.
Stefan Campbell was impressive for Armagh in midfield and was a strong ball carrier and he and Jamie Clarke added late first-half points to close the deficit to 3-5 to 1-4 at the break.
McAliskey, who was a late replacement before the game when Cathal McShane was injured in the warm-up, scored two points in as many minutes straight after the restart to put Tyrone nine points clear.
Jamie Clarke was off target with a couple of free kicks with Armagh struggling to make any dent in Tyrone’s big lead.
Two-time All-Ireland winner Joe McMahon came off the bench after 52 minutes for his first appearance of the season, coming into a game that lacked the needle of recent meetings.
No cards were flashed until PJ Lavery picked up a yellow card in the 54th minute while Michael Murray received a black card late on.
The only real flashpoint came when Armagh were denied a clear penalty when Mark Shields was pushed in the back but there was a surprising lack of intensity or controversy to the game.
McAlliskey hit his third point before being substituted while Darren McCurry and PJ Lavery added points to book Tyrone’s place in yet another McKenna Cup decider.
Scorers for Armagh – S Campbell 1-1, M McKenna 0-2, T Kernan 0-1, J Clarke 0-1, C O’Hanlon 0-1, A Forker 0-1 (f), S Connell 0-1
Scorers for Tyrone – S Cavanagh 1-3 (2f), PJ Lavery 1-1, S McGuigan 1-0, C McAliskey 0-3, C McCann 0-1, P Hughes 0-1, D McCurry 0-1 (f)
ARMAGH: P McEvoy; M Shields, B Donaghy, M Murray; J Clarke (0-1), F Moriarty, C McKeever; A Findon, S Campbell (1-1); S Forker, M McKenna (0-2), E McVerry; T Kernan (0-1), O MacIomhair, N McConville Subs: S Connell (0-1) for MacIomhair (28), C O’Hanlon (0-1) for McConville (HT), A Forker (0-1, f) for S Forker (40), S Harold for Kernan (52), C Vernon for Murray (BC, 60)
TYRONE: M O’Neill; D Quinn, R McNamee, R McKenna; R Brennan, M Donnelly, P Harte; C Cavanagh, C McCann (0-1); PJ Lavery (1-1), R O’Neill, P Hughes (0-1); S McGuigan (1-0), S Cavanagh (1-3, 2f), C McAliskey (0-3) Subs: Joe McMahon for Hughes (52), R McNabb for Brennan (52), D McCurry (0-1, f) for McAliskey (55), T McCann for Quinn (58), P McNulty for C Cavanagh (60), Justin McMahon for McKenna (64)
REFEREE: Ciaran Branagan (Down)