
Rangers will play Hearts in the final of the Scottish Cup on 21 May after coming from behind to beat Celtic in extra time of a relentless and pulsating Old Firm derby.
Celtic defender Carl Starfelt turned Calvin Bassey’s cross into his own net with five minutes of extra time left to send the blue end of Hampden wild.
It sealed an impressive turnaround for the Ibrox side, who fell behind to Greg Taylor’s goal in the second half before Scott Arfield equalised, and a chance at a first domestic cup for 10 years.
The rousing comeback also ends Celtic’s hopes of a fifth domestic treble in six seasons, having already won the League Cup this season and with a six-point lead in the Scottish Premiership.
Rangers’ performance was especially impressive given they were taken to extra-time on Thursday in their Europa League quarter-final against Braga, as they also stopped their rivals’ from making it 19 straight wins at Scotland’s national stadium.
- Reaction & as it happened
With Hampden a cauldron of colour and noise, it was no surprise the game was filled with crunching tackles, mistakes, and nerve-shredding tension.
When the smoke which billowed from the pre-match pyrotechnics finally cleared, the action started and never really let up. Despite their European exploits, Rangers looked fresh as they shut down Celtic’s midfield and hampered their build up.
Joe Aribo had two headed chances to give them a deserved lead, and John Lundstram’s curling effort cracked a post as they came close to adding the gloss to a disciplined, if frantic, first period.
But Celtic, who have made Hampden their fortress in the last decade, came back in the second half when Callum McGregor’s quick free quick caught out Rangers, and Taylor fired beyond Jon McLaughlin with the help of a deflection off Bassey.
On an afternoon when Ange Postecoglou’s side looked less sure of themselves, they might have been 2-0 up and on course for the final had Cameron Carter-Vickers’ close-range shot cannoned off the bar.
But instead Arfield swept home the equaliser from James Tavernier’s cross with 12 minutes left, and from there it was Rangers who looked the side with more energy and intent heading into extra time, dismissing any notion they would fade.
Tavernier and Fashion Sakala were denied by Joe Hart in extra-time, before some quick thinking by Glen Kamara released Bassey down the left, and his low delivery was prodded by Starfelt beyond his own goalkeeper under pressure from Sakala.
The explosion of noise in the Rangers end was something to behold as their decade-long pain in the cups comes another step closer to ending after a game where they had to dig incredibly deep to get the job done.
Man of the match – John Lundstram

What did we learn?
After back-to-back derby defeats, Rangers ceded the league title advantage to Celtic and there was a general malaise about their domestic form, in stark contrast to their Europa League run.
But to get off the floor here, especially given they had won just two of their last 11 games at Hampden, with 120 minutes already in the legs from three days prior was a hugely impressive feat.
All of the substitutes made a huge contribution. Stevn Davis brought calm amid the storm and tired legs, Kamara’s quick thinking set up the goal, while Arfield scored and Sakala was the man who forced the winner.
That was in contrast to Celtic, who seemed to suffer when Stephen Welsh and Anthony Ralston came on in the full-back positions.
Matt O’Riley did make a difference, but overall this was a reminder there is work to do with their squad building. They also looked short of ideas when Rangers were able to shut them down for long spells.
They’ll need to quickly refocus with another derby to come in the league to make sure they press home their league advantage and end the season with the league title.
What’s next?
Celtic will look to re-affirm their six-point lead at the top of the Scottish Premiership next Sunday when they face Ross County in Dingwall (14:30 BST) while Rangers are scheduled to be away to Motherwell just before (12:00).
How to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
- CelticCeltic
- RangersRangers
Celtic
Starting XI
Avg
-
Squad number15Player nameHartAverage rating
4.90
-
Squad number88Player nameJuranovicAverage rating
4.38
-
Squad number20Player nameCarter-VickersAverage rating
4.75
-
Squad number4Player nameStarfeltAverage rating
4.64
-
Squad number3Player nameTaylorAverage rating
4.49
-
Squad number18Player nameRogicAverage rating
3.94
-
Squad number42Player nameMcGregorAverage rating
4.60
-
Squad number41Player nameHatateAverage rating
4.05
-
Squad number11Player nameAbadaAverage rating
4.04
-
Squad number38Player nameMaedaAverage rating
4.22
-
Squad number17Player nameJotaAverage rating
4.12
Substitutes
Avg
-
Squad number8Player nameFuruhashiAverage rating
3.78
-
Squad number14Player nameTurnbullAverage rating
3.30
-
Squad number33Player nameO’RileyAverage rating
3.83
-
Squad number49Player nameForrestAverage rating
3.13
-
Squad number56Player nameRalstonAverage rating
3.65
-
Squad number57Player nameWelshAverage rating
3.14
Rangers
Starting XI
Avg
-
Squad number33Player nameMcLaughlinAverage rating
7.67
-
Squad number2Player nameTavernierAverage rating
8.01
-
Squad number6Player nameGoldsonAverage rating
7.68
-
Squad number3Player nameBasseyAverage rating
7.80
-
Squad number31Player nameBarisicAverage rating
7.80
-
Squad number8Player nameJackAverage rating
7.66
-
Squad number4Player nameLundstramAverage rating
8.20
-
Squad number16Player nameRamseyAverage rating
7.35
-
Squad number17Player nameAyodele-AriboAverage rating
7.46
-
Squad number14Player nameKentAverage rating
7.67
-
Squad number25Player nameRoofeAverage rating
7.77
Substitutes
Avg
-
Squad number10Player nameDavisAverage rating
8.10
-
Squad number18Player nameKamaraAverage rating
7.74
-
Squad number23Player nameWrightAverage rating
7.60
-
Squad number26Player nameBalogunAverage rating
7.78
-
Squad number30Player nameSakalaAverage rating
7.92
-
Squad number37Player nameArfieldAverage rating
8.39
- Line-ups
- Match Stats
- Live Text
Line-ups
Celtic
Formation 4-3-3
- 15Hart
- 88JuranovicSubstituted forRalstonat 67′minutesBooked at 120mins
- 20Carter-Vickers
- 4Starfelt
- 3TaylorSubstituted forWelshat 90′minutes
- 18RogicSubstituted forFuruhashiat 58′minutes
- 42McGregorBooked at 40mins
- 41HatateSubstituted forTurnbullat 109′minutes
- 11AbadaSubstituted forO’Rileyat 58′minutes
- 38MaedaSubstituted forForrestat 90′minutes
- 17Neves Filipe
Substitutes
- 2Jullien
- 8Furuhashi
- 14Turnbull
- 16McCarthy
- 19Johnston
- 21Ideguchi
- 29Bain
- 33O’Riley
- 49Forrest
- 56Ralston
- 57Welsh
Rangers
Formation 4-2-3-1
- 33McLaughlin
- 2Tavernier
- 6GoldsonBooked at 72mins
- 3BasseyBooked at 117mins
- 31BarisicSubstituted forBalogunat 109′minutes
- 8JackBooked at 45minsSubstituted forDavisat 75′minutes
- 4LundstramSubstituted forKamaraat 102′minutes
- 16RamseySubstituted forWrightat 43′minutes
- 17Ayodele-AriboBooked at 36minsSubstituted forArfieldat 75′minutes
- 14Kent
- 25RoofeBooked at 49minsSubstituted forSakalaat 109′minutes
Substitutes
- 1McGregor
- 9Diallo
- 10Davis
- 18Kamara
- 19Sands
- 23Wright
- 26Balogun
- 30Sakala
- 37Arfield
- 51Lowry
- 61King
- Referee:
- Bobby Madden
Match Stats
- Possession
- Home47%
- Away53%
- Shots
- Home22
- Away19
- Shots on Target
- Home2
- Away2
- Corners
- Home10
- Away6
- Fouls
- Home18
- Away22
Live Text
-
Post update
Match ends, Celtic 1, Rangers 2.
-
Post update
Second Half Extra Time ends, Celtic 1, Rangers 2.
-
Post update
Ryan Kent (Rangers) wins a free kick on the left wing.
-
Post update
Foul by Cameron Carter-Vickers (Celtic).
-
Post update
Glen Kamara (Rangers) wins a free kick in the defensive half.
-
Post update
Foul by Matt O’Riley (Celtic).
-
Post update
Attempt blocked. Ryan Kent (Rangers) left footed shot from outside the box is blocked. Assisted by Scott Wright.
-
Booking
Anthony Ralston (Celtic) is shown the yellow card for a bad foul.
-
Post update
Scott Arfield (Rangers) wins a free kick in the attacking half.
-
Post update
Foul by Anthony Ralston (Celtic).
-
Post update
Steven Davis (Rangers) wins a free kick on the left wing.
-
Post update
Foul by David Turnbull (Celtic).
-
Booking
Calvin Bassey (Rangers) is shown the yellow card.
-
Post update
Corner, Rangers. Conceded by Stephen Welsh.
-
Goal!
Own Goal by Carl Starfelt, Celtic. Celtic 1, Rangers 2.
-
Post update
Ryan Kent (Rangers) wins a free kick in the defensive half.
-
Post update
Foul by Stephen Welsh (Celtic).
-
Post update
Foul by Calvin Bassey (Rangers).
-
Post update
James Forrest (Celtic) wins a free kick on the right wing.
-
Post update
Corner, Rangers. Conceded by Cameron Carter-Vickers.