Rangers got revenge on rivals Celtic to reach the Scottish Cup final as Carl Starfelt’s own goal settled an intense semifinal 2-1 in the favour of Giovanni Van Bronckhorst’s men after extra-time.
Celtic remain on course to win the Scottish Premiership thanks to their 2-1 win at Ibrox two weeks ago.
But their hopes of a domestic treble came undone at Hampden despite going in front thanks to Greg Taylor’s deflected strike just after the hour mark.
Scott Arfield’s excellent finish levelled 12 minutes from time.
Rangers also needed extra-time to reach the Europa League semifinals in midweek, but showed admirable fitness levels to get the job done as Starfelt turned into his own goal under pressure from Fashion Sakala.
They will face Hearts in the final on 21 May.
The Old Firm will meet again for a fifth and final time this season in two weeks at Celtic Park with Ange Postecoglou’s side holding a six-point lead with five league games remaining.
Rangers will hope for a psychological boost in the title race after taking a huge step towards a first major cup win for 11 years.
John Lundstrum hit the post with the best effort of the first-half as Rangers controlled the play without creating any clear-cut chances.
Celtic improved with the introduction of star forward Kyogo Furuhashi off the bench on his return from injury and the game looked to have swung the Hoops way in the second half.
Taylor scored just his second ever goal for the club after finding himself unmarked inside the box from a quick free-kick.
Cameron Carter-Vickers scored the winner a fortnight ago and the American should have sealed a place in the final for Celtic when he smashed against the bar from close range.
That miss proved costly as Van Bronckhorst turned to his bench for more energy reserves and one of the substitutes Arfield fired home James Tavernier’s cross.
Both sides tired in extra-time as the game became increasingly stretched and a lung-bursting run from Calvin Bassey produced the winner as his low cross was turned in to his own net by the unfortunate Starfelt in the 114th minute.