St Gall's 0-10 1-9 Kilcoo
Fourteen-man Kilcoo fought back to stun St Gall's and secure a meeting with All-Ireland champions Crossmaglen in their first Ulster final.
A wasteful St Gall's fired seven wides in a poor first half but the Antrim side still led 0-4 to 0-3 at the break.
St Gall's were three clear when Kilcoo's Niall McEvoy was red-carded after an off-the-ball incident.
Sean Devlin netted on 53 minutes as the Down men launched their comeback and two late points secured victory.
St Gall's should have held a commanding half-time advantage but errant finishing kept Kicoo in the game.
Karl Stewart slotted over three points for the Belfast team while Darragh O'Hanlon, Paul Devlin and Conor Laverty were on target for Kilcoo.
St Gall's opened up a three-point gap at the start of the second half before McEvoy's dismissal changed the course of the game.
It was the spark for Kilcoo's comeback as they upped the tempo and found the net through substitute Devlin.
Darragh O'Hanlon edged Kilcoo ahead but St Gall's levelled late in normal time thanks to a long-range point from Sean Kelly.
Gerard McEvoy fisted over the decisive score in the third minute of injury-time and a further point sealed the win.
"I'm very proud of the players - to be a man down and come away with a victory was superb," said Kilcoo manager Jim McCorry.
"We never stopped working, we believed in ourselves more as the game went on and even when we had a player sent-off.
"Taking on Cross in the final is a daunting task but we'll bring our own style and intensity to the game and we're looking forward to it."
The Crossmaglan Rangers v Kilcoo Ulster Club final will be staged at the Athletics Grounds, Armagh, on Sunday, 2 December.