Holders Rangers beat St Johnstone to progress to the last 16 of the Scottish Cup thanks to left-back Borna Barisic’s first goal in nearly two years.
St Johnstone went toe-to-toe with the side sitting second in the Premiership as only 400 home fans turned up because of a protest against the club.
But Barisic pounced to superbly thump home after a Fashion Sakala shot came off a post just before the break.
James Tavernier swept a Theo Bair effort off the line to secure the win.
It means St Johnstone have now exited at this stage twice in a row since lifting the trophy.
Having overcome their own first hurdle in defence of the cup, Rangers have gone 11 games without defeat, winning five in a row away from home.
St Johnstone ended Rangers’ 14-match unbeaten run in Perth on the Glasgow side’s last Premiership visit in November, but they had not won at home in four games since, losing the latest three.
Indeed, it would have felt like an away game considering Rangers fans filled three quarters of McDiarmid Park thanks to that protest by the home support against their own club’s allocation and pricing of tickets.
Yet manager Callum Davidson’s decision to change nearly half his team looked to be working in a start that must have impressed those who deemed to turn up.
Rangers, though, should have gone ahead when a fine Ryan Kent cross found Sakala only for the in-form forward to volley wide from just 10 yards after 16 minutes.
Barisic came close with a curling free-kick, but shortly after St Johnstone lost defender James Brown to a cut eye, the Croatia full-back thumped in his first-ever goal from open play for Rangers.
Normally a set-piece specialist, he pounced after a Sakala shot came off the far post and sent a first-time drive into the far top corner – his first goal for either club and country since February 2021.
Rangers had conceded first in 10 of their previous 15 games, including twice already this week, but any relief they felt was not reflected in their performance as they struggled to dominate their hosts on an awkward, bobbly surface.
In fairness, home goalkeeper Remi Matthews superbly denied both Connor Goldson and Scott Wright before Andy Considine cleared off the line.
However, the visitors also survived a nervous moment when captain Tavernier cleared that Bair effort before Allan McGregor, restored to Rangers’ goal, saved from former Ibrox striker Nicky Clark as St Johnstone applied late pressure.
Player of the match – Fashion Sakala (Rangers)
What they said
St Johnstone manager Callum Davidson: “We did everything we could to try to win the game. I can’t fault the lads for effort.
“We conceded at a very bad time. It just wasn’t enough today but I’m happy with how we went about our business. In the second half we stayed in there. I would take that desire for the rest of the season. I hope the supporters appreciated the effort we put in today.”
Rangers manager Michael Beale: “Mission accomplished, third game in six days. The boys’ mentality has been fantastic. Apart from one hairy moment at the end we kept St Johnstone off us. I am absolutely delighted.
“Our fans have been fantastic. They have packed out every stadium we’ve been to this week, straight after Christmas, in January. That’s not easy. We wanted to reward them tonight and I think we have done.
“The clean sheets are important. That was what the foundation was built on three or four years ago.”
Line-ups
St Johnstone
Formation 4-4-2
- 1Matthews
- 2BrownSubstituted forCareyat 44′minutes
- 6Gordon
- 4Considine
- 19Montgomery
- 14Wright
- 18MacPhersonSubstituted forWotherspoonat 84′minutes
- 34PhillipsBooked at 83mins
- 26McLennanSubstituted forMurphyat 84′minutes
- 22HallbergSubstituted forClarkat 67′minutes
- 7MaySubstituted forBairat 67′minutes
Substitutes
- 3Gallacher
- 5Mitchell
- 10Wotherspoon
- 12Parish
- 17Bair
- 21Crawford
- 23Carey
- 29Murphy
- 37Clark
Rangers
Formation 4-2-3-1
- 1McGregor
- 2Tavernier
- 6GoldsonBooked at 90mins
- 26Davies
- 31Barisic
- 8JackSubstituted forArfieldat 90+3′minutes
- 4Lundstram
- 30SakalaSubstituted forWrightat 67′minutes
- 71TillmanBooked at 33minsSubstituted forKamaraat 67′minutes
- 14KentSubstituted forLowryat 83′minutes
- 20MorelosSubstituted forColakat 90+3′minutes
Substitutes
- 9Colak
- 18Kamara
- 19Sands
- 23Wright
- 33McLaughlin
- 37Arfield
- 38King
- 44Devine
- 51Lowry
- Referee:
- Alan Muir
Match Stats
Live Text
-
Match ends, St. Johnstone 0, Rangers 1.
-
Second Half ends, St. Johnstone 0, Rangers 1.
-
Corner, Rangers. Conceded by Andrew Considine.
-
Substitution, Rangers. Scott Arfield replaces Ryan Jack.
-
Substitution, Rangers. Antonio-Mirko Colak replaces Alfredo Morelos.
-
Connor Goldson (Rangers) is shown the yellow card.
-
Connor Goldson (Rangers) wins a free kick in the defensive half.
-
Foul by Theo Bair (St. Johnstone).
-
Attempt saved. Nicky Clark (St. Johnstone) right footed shot from outside the box is saved in the top centre of the goal.
-
Foul by Alex Lowry (Rangers).
-
David Wotherspoon (St. Johnstone) wins a free kick in the defensive half.
-
Attempt missed. Alfredo Morelos (Rangers) right footed shot from the right side of the box is too high.
-
Substitution, St. Johnstone. David Wotherspoon replaces Cameron MacPherson.
-
Substitution, St. Johnstone. Jamie Murphy replaces Connor McLennan.
-
Substitution, Rangers. Alex Lowry replaces Ryan Kent.
-
Daniel Phillips (St. Johnstone) is shown the yellow card for a bad foul.
-
Ryan Kent (Rangers) wins a free kick in the defensive half.
-
Foul by Daniel Phillips (St. Johnstone).
-
Attempt blocked. Theo Bair (St. Johnstone) right footed shot from the centre of the box is blocked.
-
Attempt blocked. John Lundstram (Rangers) right footed shot from the centre of the box is blocked.
Player of the match
LowryAlex Lowry
St Johnstone
-
Squad number1Player nameMatthews
Average rating5.55
-
Squad number2Player nameBrown
Average rating5.29
-
Squad number19Player nameMontgomery
Average rating5.26
-
Squad number6Player nameGordon
Average rating5.23
-
Squad number22Player nameHallberg
Average rating5.21
-
Squad number34Player namePhillips
Average rating5.18
-
Squad number18Player nameMacPherson
Average rating5.16
-
Squad number26Player nameMcLennan
Average rating4.98
-
Squad number4Player nameConsidine
Average rating4.93
-
Squad number14Player nameWright
Average rating4.91
-
Squad number7Player nameMay
Average rating4.86
-
Squad number37Player nameClark
Average rating4.49
-
Squad number17Player nameBair
Average rating4.15
-
Squad number29Player nameMurphy
Average rating4.15
-
Squad number10Player nameWotherspoon
Average rating4.09
-
Squad number23Player nameCarey
Average rating3.86
Rangers
-
Squad number51Player nameLowry
Average rating6.84
-
Squad number30Player nameSakala
Average rating6.73
-
Squad number26Player nameDavies
Average rating6.52
-
Squad number6Player nameGoldson
Average rating6.48
-
Squad number31Player nameBarisic
Average rating6.40
-
Squad number23Player nameWright
Average rating6.39
-
Squad number71Player nameTillman
Average rating6.37
-
Squad number2Player nameTavernier
Average rating6.33
-
Squad number1Player nameMcGregor
Average rating6.32
-
Squad number8Player nameJack
Average rating6.17
-
Squad number14Player nameKent
Average rating6.15
-
Squad number4Player nameLundstram
Average rating6.10
-
Squad number18Player nameKamara
Average rating5.85
-
Squad number37Player nameArfield
Average rating5.85
-
Squad number20Player nameMorelos
Average rating5.84
-
Squad number9Player nameColak
Average rating5.52