Crusaders qualified for a Setanta Sports Cup final meeting with Derry City as Colin Coates' extra-time penalty helped see off Sligo Rovers.
Timmy Adamson missed a glorious Crues chance before Romauld Boco put Sligo ahead on the night in the 35th minute.
Mark Quigley levelled the tie on 47 after a delightful move.
Coates' 105th-minute penalty was controversial with Arnold Hunter ruling that Gavin Peers' challenge on Declan Caddell had been inside the box.
TV replays suggested that the challenge might have been just outside the penalty area but Coates held his nerve admirably to hammer the spot-kick into the roof of the net.
The goal left Sligo needing two goals to rescue the tie and Crusaders held on with a degree of comfort to qualify for an all-northern meeting with Derry City at Windsor Park on 12 May.
Both teams deserve credit for serving up a thrilling contest at the Showgrounds.
Sligo produced a bright opening with Boco testing Sean O'Neill in the ninth minute and the Crues then having a penalty shout turned down when Danny Ventre blocked a Caddell drive with his flailing arms.
Adamson should have put the tie beyond Sligo's reach on 31 minutes after he outpaced the home defence but he curled his pointblank effort inches wide.
The miss was punished four minutes later as Boco sidefooted to the net after being set up by the lively Ross Gaynor.
Sligo looked strong favourites when Quigley levelled the tie on 47 minutes after a glorious pass from impressive youngster Lee Lynch.
The action was end to end for the remainder of normal time with both teams going close on a number of occasions.
As the Crues produced a marvellous late flourish, David Rainey volleyed a glorious chance wide on 81 while man of the match Chris Morrow was then denied by a superb Gary Rogers save.
However, the Crues endeavour did get its reward with Coates' penalty although, it looked a contentious call from referee Hunter.