Aberdeen overcame going down to 10 men to beat Kilmarnock on penalties in a thrilling Premier Sports Cup quarter-final tie at Rugby Park.
Following a 1-1 draw, accurate spot-kicks from Alexander Briedl, Ayoub Mouloua and Jack Milne secured a 3-1 win, sparking wild celebration in the away end which spilled on to the pitch.
After an end-to-end first half, the Dons had taken the lead early in the second half when Kevin Nisbet rose well at the back post to direct Connor Ronan's floated cross past the outstretched Max Stryjek.
Aberdeen were reduced to 10 men five minutes later when Dan Happe was shown a second yellow for barging into Joe Hugill, and Killie struck level from the resulting set play as Tyreece John-Jules flicked in a smart backwards header to draw the tie level.
Nisbet had almost opened the scoring in the first few minutes of the game when Stryjek saved his first header on target, just moments before Hugill side-footed a shot wide for the home side in an end-to-end start.
A smart flick from Djenairo Daniels on the end of Aaron Tshibola's low cross went close as Killie ramped up the pressure with Tom Lowery's powerful long-range strike well stopped by Marius Muller.
Aberdeen grew into the game and had plenty of the ball but failed to create any clear-cut chances until Nisbet nodded in the opening goal early in the second half.
Not to be deterred by falling behind yet again this season, Killie rallied well leading to Happe's dismissal and John-Jules' headed leveller.
Killie lobbed a succession of enticing crosses into the box late on but failed to find a breakthrough to avoid extra time.
A remarkable string of blocks from Killie, coupled with fine goalkeeping from Stryjek, kept the game level and forced spot-kicks.
Aberdeen showed great composure after Nesta Guinness-Walker missed their first, before Killie missed three in a row despite scoring their first through Hugill.
Stephen Robinson's side join Hearts and Hibs in the hat for the semi-final draw, which takes place after Sunday's Old Firm derby at Ibrox (12:00 BST).