Rangers won through to the William Hill Scottish Cup final with a 5-4 sudden-death penalty shoot-out victory over Celtic at a breathless Hampden Park.
Former Celtic striker Kenny Miller opened the scoring for the Light Blues in the 16th minute of a first half bossed by the Championship winners.
Hoops substitute Erik Sviatchenko levelled with a header five minutes after the break - his first for the Parkhead club since arriving from FC Midtjylland in January.
Gers winger Barrie McKay fired in an unstoppable shot from 25 yards in the sixth minute of extra time, but that was cancelled out by substitute Tom Rogic 10 minutes later before the drama of penalties arrived.
Rogic was the seventh penalty-taker, but blazed his effort over the bar to the delight of the Gers support.
Andy Halliday, McKay, Lee Wallace and substitutes Gedion Zelalem and Nicky Law scored their penalties, while James Tavernier fired his over and substitute Nicky Clark had his saved by Craig Gordon.
For Celtic, Charlie Mulgrew, Nir Bitton, Leigh Griffiths and Mikael Lustig scored, with substitute Callum McGregor hitting the bar and Wes Foderingham saving from skipper Scott Brown.
Mark Warburton's men will play Hibernian in the May 21 final after their fellow Championship side won their penalty shoot-out against Dundee United on Saturday.
Ronny Deila's men had comfortably beaten their traditional rivals 2-0 in the League Cup semi-final last year, and this defeat will pile more pressure on the Norwegian despite Celtic sitting in a strong position at the top of the Ladbrokes Premiership and on their way to their fifth straight crown.
The consensus was that all the pressure was on the Premiership leaders, not least because of the greater depth and quality of squad Deila has at his disposal.
Sviatchenko could only find a place on the bench after recovering from a thigh injury, with Mulgrew remaining in central defence alongside Dedryck Boyata.
With Michael O'Halloran and Billy King cup-tied, Harry Forrester injured and Martyn Waghorn not ready to return from injury, Warburton's squad was stretched to its limit with midfielder Dean Shiels handed a rare start and only five substitutes named.
Rangers stormed out the traps, taking Celtic by surprise.
Gordon pulled off a great save from Miller before the Parkhead men came back, with skipper Brown drilling wide of the target from 16 yards.
An angled drive from Celtic's top scorer Griffiths fizzed past the far post before the Light Blues opened the scoring.
Halliday's pass towards the box was deflected by Brown into the path of Miller, who swivelled and knocked the ball low past Gordon to send one half of the stadium into raptures.
Celtic left-back Kieran Tierney went close moments later before Rangers skipper Wallace fired wide of the far post.
Deila brought on Sviatchenko for Boyata in the 25th minute and the Dane was booked five minutes later for a foul on Shiels.
Celtic, however, should have levelled in the 33rd minute when Griffiths' low drive from the edge of the box beat Foderingham before rebounding off the post into the path of Patrick Roberts but, with goal wide open, the on-loan winger somehow hit the side-netting.
Rangers finished the half in control and the interval whistle brought a crescendo of boos from the green and white fans.
Celtic came back out fired up.
Griffiths stung the hands of Foderingham with a free-kick early in the second half as the Hoops forced a series of Roberts corners, one of which Sviatchenko powered high into the net.
Griffiths fired two efforts over the bar before extra time arrived.
Celtic looked slightly the stronger but in the 96th minute the blue half of Hampden erupted when, after Rangers took a disputed throw-in, McKay picked up the ball, turned and fired high past Gordon from 25 yards.
The drama was not over.
Rogic, on in the 84th minute for Stefan Johansen, swept in a Tierney cut-back to level at the start of the second period of extra time.
Foderinghan made saves from Rogic and McGregor, on for Gary Mackay-Steven.
Griffiths cracked the bar with a 25-yard free-kick in the penultimate minute but, when it came to the penalties, Rangers came out on top.