Ulster Club SFC: Ballinderry 1-10 0-17 Crossmaglen
Crossmaglen held off Ballinderry's second-half fightback to progress to the Ulster Club Football decider.
Cross moved into a 0-4 to 0-0 lead and while Conleth Gilligan responded with three points, Cross regained control to lead 0-11 to 0-4 at the interval.
Ballinderry, despite Martin Harney's sending off, reduced the lead to four before Gilligan's penalty cut Cross' advantage to 0-13 to 1-9 on 51 minutes.
But Cross rallied to win by four despite Aaron Kernan's late dismissal.
Kernan was sent off by referee Martin Sludden for two yellow cards so he will be available for the Ulster decider in two weeks.
Crossmaglen produced a fast start with Oisin McConville, Stephen Kernan, the lively Michael McNamee and Aaron Kernan all hitting early points.
David McKenna was dominating the midfield exchanges early on so Ballinderry made the decision to move Enda Muldoon back to centrefield.
The switch worked as increased Ballinderry possession enabled Gilligan to hit three unanswered points for the Shamrocks.
Both goalkeepers made brilliant saves during the midpoint of the first half with Michael Conlon first denying Stephen Kernan and Paul Hearty then making a superb stop to deflect a Darren Conway shot onto the woodwork.
But Cross regrouped to dominate the second quarter as they hit seven of the next eight scores before half-time with Aaron Kernan on target three times for the All-Ireland champions.
Ballinderry did miss another great goal chance before the break as Hearty denied Aaron Devlin and the half ended badly for the Derry champions as Harney was sent for a second yellow card.
To their credit, the 14-man Ballinderry side rallied after the break as Raymond Wilkinson, Ryan Bell and Gilligan all pointed.
McConville kept Crossmaglen's score ticking along but there was only a kick of the ball between the teams in the 46th minute after Wilkinson and Gilligan points.
Ballinderry must have felt that a sensational comeback was on the cards when the cut Cross' lead to the minimum in the 51st minute after Gilligan coolly slotted a penalty.
However, Ballinderry could not get any closer as Cross kicked four of the last five points.
Aaron Kernan was sent off after getting a second yellow card for a high tackle on Raymond Wilkinson.