Hearts vs Rangers

4 May 2026 · Scottish Premiership · 2025/26 · Referee John Beaton

Full time 2 – 1

Half-time: 0–1

  • Stephen Kingsley 54’
  • Lawrence Shankland 71’
  • Dujon Sterling 23’

Match summary

Hearts came from behind to win 2-1 at home to Rangers. Rangers led 1-0 at half-time.

Dujon Sterling put Rangers ahead in the 23rd minute, Stephen Kingsley equalised in the 54th minute, and Lawrence Shankland won it in the 71st minute.

There was little between the sides on chances: Hearts created 0.96 expected goals (xG) from 11 shots, Rangers 0.72 from 13.

Match stats

42% Possession 58%
11 Shots 13
5 Shots on target 3
2 Corners 6
62 Attacks 77
33 Dangerous attacks 46
299 Passes 417
71.6% Pass accuracy 76.0%
20 Tackles 16
8 Fouls 12
1 Yellow cards 2
1 Offsides 0

Key events

Hearts Rangers
Kick-off
23’
Dujon SterlingRight foot shot0-1 (Rangers)
Half-time0-1
Blair SpittalIslam Chesnokov
46’
Second half underway
Cláudio BragaShot on target
53’
53’
Andreas Skov OlsenShot on target
Stephen KingsleyLeft foot shot1-1 (Hearts)
54’
59’
Emmanuel FernandezShot on target
Alexandros KyziridisShot on target
67’
Lawrence ShanklandLeft foot shot2-1 (Hearts)
71’
Blair SpittalShot on target
74’
Frankie KentStephen Kingsley
90’

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.96 0.72 23’ Dujon Sterling (Rangers), 0-1 23’ 54’ Stephen Kingsley (Hearts), 1-1 54’ 71’ Lawrence Shankland (Hearts), 2-1 71’ 0.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.96 0.72 23’ Dujon Sterling (Rangers), 0-1 Sterling 23’ 54’ Stephen Kingsley (Hearts), 1-1 Kingsley 54’ 71’ Lawrence Shankland (Hearts), 2-1 Shankland 71’
Hearts 0.96 xGRangers 0.72 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Rangers attacking Hearts attacking 
54’ Stephen Kingsley (Hearts), open play, 0.46 xG, goal 19’ Tochi Chukwuani (Rangers), from a corner, 0.18 xG, off target 71’ Lawrence Shankland (Hearts), open play, 0.11 xG, goal 53’ Cláudio Braga (Hearts), open play, 0.08 xG, saved 41’ James Tavernier (Rangers), direct free kick, 0.08 xG, blocked 77’ Thelo Aasgaard (Rangers), set piece, 0.07 xG, hit the woodwork 54’ Alexandros Kyziridis (Hearts), open play, 0.07 xG, hit the woodwork 74’ Blair Spittal (Hearts), open play, 0.07 xG, saved 59’ Emmanuel Fernandez (Rangers), set piece, 0.06 xG, saved 90+8’ Youssef Chermiti (Rangers), open play, 0.06 xG, off target 49’ Lawrence Shankland (Hearts), set piece, 0.05 xG, blocked 90+5’ Emmanuel Fernandez (Rangers), open play, 0.06 xG, blocked 22’ James Tavernier (Rangers), open play, 0.04 xG, blocked 14’ Mohammed Diomande (Rangers), from a corner, 0.04 xG, blocked 23’ Dujon Sterling (Rangers), set piece, 0.04 xG, goal 53’ Andreas Skov Olsen (Rangers), open play, 0.04 xG, saved 74’ Stuart Findlay (Hearts), from a corner, 0.03 xG, off target 42’ Youssef Chermiti (Rangers), open play, 0.03 xG, blocked 11’ Craig Halkett (Hearts), set piece, 0.02 xG, off target 67’ Alexandros Kyziridis (Hearts), set piece, 0.03 xG, saved 57’ James Tavernier (Rangers), open play, 0.02 xG, off target 90+7’ Michael Steinwender (Hearts), open play, 0.02 xG, off target 49’ Blair Spittal (Hearts), set piece, 0.02 xG, off target 90+5’ Djeidi Gassama (Rangers), from a corner, 0.01 xG, off target 54’ Stephen Kingsley (Hearts), open play, 0.46 xG, goal 19’ Tochi Chukwuani (Rangers), from a corner, 0.18 xG, off target 71’ Lawrence Shankland (Hearts), open play, 0.11 xG, goal 53’ Cláudio Braga (Hearts), open play, 0.08 xG, saved 41’ James Tavernier (Rangers), direct free kick, 0.08 xG, blocked 77’ Thelo Aasgaard (Rangers), set piece, 0.07 xG, hit the woodwork 54’ Alexandros Kyziridis (Hearts), open play, 0.07 xG, hit the woodwork 74’ Blair Spittal (Hearts), open play, 0.07 xG, saved 90+8’ Youssef Chermiti (Rangers), open play, 0.06 xG, off target 59’ Emmanuel Fernandez (Rangers), set piece, 0.06 xG, saved 90+5’ Emmanuel Fernandez (Rangers), open play, 0.06 xG, blocked 49’ Lawrence Shankland (Hearts), set piece, 0.05 xG, blocked 22’ James Tavernier (Rangers), open play, 0.04 xG, blocked 23’ Dujon Sterling (Rangers), set piece, 0.04 xG, goal 53’ Andreas Skov Olsen (Rangers), open play, 0.04 xG, saved 14’ Mohammed Diomande (Rangers), from a corner, 0.04 xG, blocked 74’ Stuart Findlay (Hearts), from a corner, 0.03 xG, off target 42’ Youssef Chermiti (Rangers), open play, 0.03 xG, blocked 67’ Alexandros Kyziridis (Hearts), set piece, 0.03 xG, saved 11’ Craig Halkett (Hearts), set piece, 0.02 xG, off target 57’ James Tavernier (Rangers), open play, 0.02 xG, off target 90+7’ Michael Steinwender (Hearts), open play, 0.02 xG, off target 49’ Blair Spittal (Hearts), set piece, 0.02 xG, off target 90+5’ Djeidi Gassama (Rangers), from a corner, 0.01 xG, off target
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Hearts 3-4-2-1 Starting XI
Schwolow
Steinwender
Halkett
Findlay
Kingsley 90’
Kyziridis 82’
Leonard
Baningime
Shankland 90’
Chesnokov 46’
Braga 83’
Rangers 4-2-3-1 Starting XI
Butland
Djiga
Fernandez
Tavernier
Sterling 75’
Chukwuani
Raskin 75’
Moore 75’
Diomande 83’
Olsen 69’
Chermiti

Player stats

Goalkeeper1 player
Alexander Schwolow
90′ 2 1 23 1 – – – –
Defenders5 players
Michael Steinwender
90′ 4 4 – 8 3 28 – – – –
90′ – 1 – 12 10 34 2 – – –
90′ 2 2 – 9 3 31 – – – –
Stephen Kingsley Taken off
89′ – 1 – 3 3 26 – 1 – –
Jamie McCart Came on as a substitute
8′ – – – 1 1 2 – – – –
Midfielders5 players
Alexandros Kyziridis Taken off
82′ – – 35 1 – 3 – 7 1 1 –
90′ – – 42 2 – 4 – 7 1 1 –
Beni Baningime
90′ – – 18 – – 1 1 3 – 1 –
Islam Chesnokov Taken off
45′ – – 6 – – 1 4 3 1 1 –
Blair Spittal Came on as a substitute
45′ – – 15 1 – 2 1 6 – – –
Forwards3 players
Lawrence Shankland Taken off
89′ 1 – 2 1 0.17 – – 2 – 22
Cláudio Braga Taken off
83′ – – 1 1 0.08 – 1 3 1 18 –
Pierre Landry Kaboré Came on as a substitute
15′ – – – – – – – – – 1 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists. A blank cell means that figure is not available for that player.

Before kick-off

Hearts win 33% Avg odds 2.83
Draw 27% Avg odds 3.50
Rangers win 40% Avg odds 2.30

Chances implied by the average closing odds, with the bookmaker margin removed.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk.