Rangers are through to the Scottish Cup final after beating Old Firm rivals Celtic 2-1 after extra time at Hampden Park on Easter Sunday.
A 1-1 draw was played out in normal time after Scott Arfield cancelled out Greg Taylor's opener, but an own goal from Hoops defender Carl Starfelt in extra time helped the Gers come from behind to beat their bitter Glaswegian rivals and reach their first Scottish Cup final since 2015-16.
After securing a famous extra-time victory in the Europa League on Thursday night, Rangers are now celebrating another impressive win, capping off a memorable week for Giovanni van Bronckhorst's side, with Hearts now awaiting them in the Scottish Cup final on May 14.
The first half was played at a high tempo and numerous chances were created by both sides, but it was the Gers who had the edge and the best opening fell John Lundstram's way in the 39th minute when his curling left-footed strike from the edge of the penalty area hit the post.
Rangers were forced to make an early substitution on the stroke of half time, when Scott Wright was brought on to replace Aaron Ramsey who limped off with a hamstring injury.
Celtic were a little fortunate to be heading into the break level, and although Rangers remained on the front foot at the beginning of the second half, it was the Hoops who broke the deadlock through an unlikely source.
A well-worked free kick in the 64th minute was played out to captain Callum McGregor, who then slid a pass through to Greg Taylor on the edge of the area before the left-back saw his deflected strike creep into the bottom-left corner. The 24-year-old had only scored two goals in his professional career prior to rippling the net in front of the jubilant Hoops supporters.
Ange Postecoglou's men almost doubled their lead just five minutes later when centre-back Cameron Carter-Vickers rattled a strike onto the crossbar from just six yards out.
Just as the game was beginning to swing in Celtic's favour, Rangers equalised in the 73rd minute when James Tavernier's fizzed cross from the right flank picked out Scott Arfield who whipped his effort past Joe Hart and into the top-right corner, just three minutes after coming on as a substitute.
A scrappy final 10 minutes was played out before both sides were forced into extra time. The two teams were beginning to look tired and many would have assumed that Celtic would have had the extra energy considering that Rangers played 120 minutes in the Europa League on Thursday night.
Both sides rang the changes in extra time, but it was Van Bronckhorst's substitutions which provided the Gers with an extra spark, and they looked the more likely of the two teams to go in front.
Joe Hart was called into action in the 111th minute and made a brilliant save to prevent Tavernier from finding the net, tipping his strike onto the post before substitute Fashion Sakala saw an overhead kick from just a few yards out hit the crossbar.
Rangers were on top in the closing stages and their persistence to push for the winner paid off in the 114th minute when Calvin Bassey ran down the left and cut the ball back into the danger zone, before Starfelt slid the ball into his own net, sending the Rangers supporters behind the goal into pandemonium.
Celtic then seemed to be out of ideas and struggled to win the ball back from the Gers, who managed to see out the game and book their place in the final, ending the Hoops' 33-game unbeaten run in the process.