Rangers came from behind in the most dramatic fashion to beat Celtic 2-1 in extra time at Hampden Park to set up a Scottish Cup final meeting with Hearts.
The Light Blues had edged the first half of a pulsating semi-final but there was little between the teams after the break until the 64th minute when Hoops left-back Greg Taylor fired in from the edge of the box.
Rangers substitute Scott Arfield levelled in the 78th minute with a fine finish to take the game to extra-time, the second time in four days for the Light Blues.
As the game looked set for penalties, Parkhead defender Carl Starfelt put through his own goal in the 114th minute with substitute Fashion Sakala in attendance to give Giovanni van Bronckhorst's side a memorable win and also deny Celtic the possibility of winning the domestic treble.
It was another memorable encounter between the two giants of Scottish football.
While Celtic had a clear week to prepare for the game, Rangers had taken 120 gruelling minutes to overcome Braga in their Europa League quarter-final tie at Ibrox on Thursday night.
Van Bronckhorst only made one change however, bringing in Scottish Cup keeper Jon McLaughlin for Allan McGregor.
Ange Postecoglou brought in Liel Abada and played Japan international Daizen Maeda through the middle with Kyogo Furuhashi on the bench.
The national stadium was split 50-50 between blue and green and the game began in frantic fashion amidst a smog of smoke from flares at both ends.
Rangers threatened first in the second minute, John Lundstram robbing Hoops midfielder Reo Hatate and Aaron Ramsey playing in Ryan Kent who shot over the bar from 12 yards.
The Light Blues came close in the 32nd minute when Starfelt gave possession away to Gers midfielder Ryan Jack.
The Celtic defender had to clear Kemar Roofe's header from Borna Barisic's cross away from the goal line before Hoops keeper Joe Hart saved from Joe Aribo on the follow-up.
Then, Lundstram took a pass from Aribo and rattled the post with a 20-yard drive.
Ramsey went off injured to be replaced by Scott Wright, who crossed for Aribo to head weakly wide in the last action of the first half.
Hatate screwed a shot wide of the far post in the 53rd minute and Kent did likewise for the Light Blues at the other end moments later.
Celtic brought on Furuhashi and Matt O'Riley for Abada and Tom Rogic just before the hour mark as Postecoglou looked for his side to impose themselves on the game, which they did.
O'Riley played a short free-kick to skipper Callum McGregor, he played the ball to Taylor and his shot from the edge of the box deflected off Calvin Bassey before beating McLaughlin for his first goal since August 2020.
Defender Cameron Carter-Vickers smashed a shot against the bar as Celtic hunted for number two and Rangers replaced Aribo and Jack with Arfield and Steve Davis.
Arfield - who had missed two great chances against Braga on Thursday - made a quick impact, flashing a shot past Hart from inside the box after a cross from captain James Tavernier had landed at his feet.
After a nervy end to the regulation 90 minutes came extra time, where Stephen Welsh and James Forrest replaced Taylor and Maeda.
Roofe got put through by Wright but Hart was quickly out to smother, before Lundstram made way for Glen Kamara as the first half of extra time finished goalless.
Leon Balogun replaced Barisic and Sakala took over from Roofe, with Hatate making way for David Turnbull, as the substitutes kept coming.
Hart made a great save from Tavernier in the 110th minute but moments later, Bassey raced down the left and his cross was knocked into his own net by Starfelt under pressure from Sakala and the blue half of Hampden Park erupted.