Rangers have beaten Celtic 2-1 to reach the Scottish Cup final, winning a second match in extra time in just four days.
Greg Taylor had given Celtic the lead at Hampden but substitute Scott Arfield netted a leveller before Carl Starfelt diverted the ball into his own net in a tense finale.
Rangers will now face Hearts in the final on May 21, while Celtic will look to finish the job in the Premiership and avoid any dramatic finale to the league season.
Both sides had made just a single change since their last match, with Liel Abada coming into the Celtic team for Giorgos Giakoumakis and Jon McLaughlin in goal for Rangers ahead of Allan McGregor, as he has been in the Scottish Cup for previous fixtures.
In the pattern set from the last two fixtures between the sides, there was a high tempo to the opening exchanges.
Ryan Kent found himself with space for a shot early on but missed the target, then Jota had a chance for Celtic with a header.
Kemar Roofe, who had scored the winner against Braga on Thursday, let fly with a shot from 25 yards when he had his first opportunity, and was then denied with a header from close range.
Rangers showed no fatigue from their midweek efforts as the y carved out the better chances in the first half, and went closest to opening the scoring when John Lunstram’s shot smacked off the post with joe Hart beaten.
But Giovanni van Bronckhorst’s side suffered a blow before the break when Aaron Ramsey had to be replaced with Scott Wright.
After the restart, neither side managed to settle into a rhythm with fouls constantly breaking up play. Reo Hatate had a shot from outside the box that whistled wide, then Kent did the same at the other end.
Ange Postecoglou made a change just before the hour mark, with Kyogo Furuhashi and Matt O’Riley introduced for Tom Rogic and Liel Abada.
A few minutes later, Celtic were ahead and through an unlikely source. A free-kick found Callum McGregor and he passed the ball on to Greg Taylor. The left-back took a shot that clipped off Calvin Bassey and into the bottom corner with McLaughlin unable to stop it.
Anthony Ralston came on for Josip Juranovic after the defender pulled up and Celtic continued to search for a second.
They nearly got the goal they were looking for from another set piece. A high ball into the box fell to the feet of Furuhashi, who knocked it back for Cameron Carter-Vickers but the defender’s shot cannoned back off the bar.
Rangers made changes in their efforts to draw level. Scott Arfield and Steven Davis entered the fray, replacing Joe Aribo and Ryan Jack.
With 12 minutes to go, Arfield equalised. A long ball from Connor Goldson picked out James Tavernier on the right wing and his ball into the middle was brought down by Roofe but Arfield pounced on it to send a shot into the top corner and bring his side level.
Neither side could establish the upper hand in the remaining minutes and two late Celtic corners came to nothing, leaving Bobby Madden to whistle and indicate extra-time would be needed to separate the teams. James Forrest and Stephen Welsh replaced Maeda and Taylor at the break.
Furuhashi forced a corner with a darting run but the resulting corner came to nothing before Roofe forced Hart to race off his line and avert any danger. Jota then had two shots blocked by Tavernier as Celtic enjoyed a spell of pressure.
Glen Kamara replaced Lundstram as Rangers freshened up their midfield but Celtic continued to enjoy the better possession.
The first period of extra time didn’t bring a goal and as the match entered the final stages both side made changes to try and tip the balance in their favour. Leon Balogun replaced Barisic and Fashion Sakala came on for Roofe in two Rangers substitutions, while David Turnbull replaced Hatate for Celtic.
Rangers had a gilt-edged chance in the 111th minute. Arfield burst down the right and fired in a low cross that Hart got a hand to. Tavernier pounced on the loose ball and struck the post before Sakala attempted an overhead kick with Carter-Vickers putting his head in to challenge, only for the ball to clip off the bar.
After that drama, Rangers had more success in their next attack. Bassey raced up the left on the overlap, knocked in a low cross and Starfelt, under pressure from Sakala, diverted the ball past Hart to put his side ahead.
Celtic pushed for one last chance to draw level and four added minutes increased their hopes but Rangers were energised by their goal and defended their lead.
There was to be no late drama though, and Rangers celebrated a second extra time victory in four days and took their place in the Scottish Cup final against Hearts next month.
Follow STV News on WhatsApp
Scan the QR code on your mobile device for all the latest news from around the country