St Mirren will play the conquerors of Rangers, St Johnstone, in the semi-finals of the Scottish Cup after they dramatically defeated Kilmarnock on penalties last night.
The Paisley club set up the clash by beating Tommy Wright's Killie 5-4 in a shootout at Rugby Park following a 3-3 draw over 120 minutes.
On a dramatic night, a mistake by home keeper Colin Doyle allowed a harmless cross from Ilkay Durmus to find the net on 25 minutes.
Kilmarnock, without injured in-form striker Kyle Lafferty, quickly shook themselves out of their dismay.
There was a penalty claim when Joe Shaughnessy challenged George Oakley for a Chris Burke cross, bundling him to the ground, but referee Don Robertson pointed only for a goal kick.
However, the home side were soon level when Burke's inviting corner from the left was headed in by Bournemouth loanee Ibsen Rossi.
A minute before the break, the cup tie turned in Killie's favour when Oakley set up the unmarked Greg Kiltie and from 14 yards fired a low drive past Jak Alnwick and in off the far post.
Oakley flicked a Kiltie cross over the bar and Doyle made a save from a Marcus Fraser header before Saints levelled in the closing minutes.
Jamie McGrath's delivery from a free-kick was headed in from six yards by Shaughnessy and the Buddies would have snatched it near the end of normal time had Doyle not made a great close-range save from substitute Colin Quaner.
Killie sub Nicke Kabamba limped off soon into extra time and, having already used their four replacements, the home side had to soldier on with 10 men.
And when referee Robertson judged that Saints substitute Kyle McAllister had fouled Brandon Haunstrup inside the box, Ross Millen stepped up to beat Alnwick.
Saints levelled again, also with a penalty, when Doyle felled Jake Doyle-Hayes with McGrath converting and Doyle's last-gasp save from Shaughnessy's header ensured a penalty shoot-out, where the Buddies came out on top.
Dundee United will play Hibernian in the second semi-final.