Over 9,000 people packed in to see Kilcoo inflict Crossmaglen Rangers first defeat in the competition since 2005.
Kilcoo controlled proceedings for most of the game and with 20 minutes remaining had a seven point lead.
But Crossmgalen Rangers reduced that deficit after Kilcoo had Daryl Branagan sent off.
With both sides tied at 1-7 the game went to extra time.
But that was where Kilcoo turned the screw scoring two goals in quick succession.
Crossmaglen never recovered and two players sent off in the second period of extra time.
Kilcoo will now face Ballinderry in the Ulster semi-finals next Sunday.