Hearts vs St Johnstone

29 August 2026 · Scottish Premiership · 2026/27 · Referee R Lee

Full time 2 – 1

Half-time: 2–0

  • James Wilson 9’
  • Enes Alić 39’ (og)
  • Ruari Paton 48’

Match summary

Hearts won 2-1 at home to St Johnstone. Hearts led 2-0 at half-time.

James Wilson put Hearts ahead in the 9th minute, Alić's own goal made it 2-0 in the 39th minute, and Ruari Paton pulled one back to make it 2-1 in the 48th minute.

The chances backed that up: Hearts created 1.71 expected goals (xG) from 16 shots to St Johnstone's 1.16 from 9.

Match stats

47% Possession 53%
16 Shots 9
7 Shots on target 4
8 Corners 4
54 Attacks 59
35 Dangerous attacks 34
427 Passes 485
80.6% Pass accuracy 83.9%
14 Tackles 14
11 Fouls 14
0 Yellow cards 0
0 Red cards 0
1 Offsides 1

Key events

Hearts St Johnstone
Kick-off
Laurent MendyShot on target
7’
Corner
7’
Corner
7’
James WilsonLeft foot shot1-0 (Hearts)
9’
Sabah KerjotaShot on target
11’
Corner
15’
19’
Corner
Laurent MendyShot on target
24’
Corner
24’
28’
Corner
Jordi AltenaShot on target
36’
Corner
36’
Tomas MagnussonShot on target
37’
Enes AlićOwn goal2-0 (Hearts)
39’
42’
Josh FowlerShot on target
Josh McPakeShot on target
43’
Corner
43’
Half-time2-0
Second half underway
48’
Ruari PatonLeft foot shot2-1 (St Johnstone)
53’
Corner
60’
Ruari PatonShot on target
Corner
66’
Corner
72’
82’
Reece McAlearShot on target
82’
Corner
Full-time2-1

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 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.71 1.16 9’ James Wilson (Hearts), 1-0 9’ 39’ Enes Alić (Hearts) own goal, 2-0 39’ 48’ Ruari Paton (St Johnstone), 2-1 48’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.71 1.16 9’ James Wilson (Hearts), 1-0 Wilson 9’ 39’ Enes Alić (Hearts) own goal, 2-0 Alić 39’ 48’ Ruari Paton (St Johnstone), 2-1 Paton 48’
Hearts 1.71 xGSt Johnstone 1.16 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 St Johnstone attacking Hearts attacking 
48’ Ruari Paton (St Johnstone), open play, 0.55 xG, goal 9’ James Wilson (Hearts), open play, 0.53 xG, goal 7’ Laurent Mendy (Hearts), open play, 0.32 xG, saved 60’ Ruari Paton (St Johnstone), open play, 0.17 xG, saved 36’ Jordi Altena (Hearts), direct free kick, 0.16 xG, saved 76’ Macaulay Tait (St Johnstone), open play, 0.14 xG, blocked 72’ Tomas Magnusson (Hearts), from a corner, 0.12 xG, off target 25’ Laurent Mendy (Hearts), from a corner, 0.11 xG, off target 37’ Tomas Magnusson (Hearts), open play, 0.10 xG, saved 85’ Liam Smith (St Johnstone), open play, 0.09 xG, off target 26’ Jamie Gullan (St Johnstone), open play, 0.06 xG, off target 68’ Blair Spittal (Hearts), open play, 0.07 xG, hit the woodwork 44’ Sabah Kerjota (Hearts), open play, 0.05 xG, off target 42’ Josh Fowler (St Johnstone), open play, 0.05 xG, saved 38’ Cláudio Braga (Hearts), open play, 0.05 xG, off target 43’ Sabah Kerjota (Hearts), from a corner, 0.04 xG, blocked 43’ Josh McPake (Hearts), open play, 0.04 xG, saved 82’ Reece McAlear (St Johnstone), direct free kick, 0.03 xG, saved 4’ Jamie Gullan (St Johnstone), set piece, 0.03 xG, off target 24’ Laurent Mendy (Hearts), open play, 0.03 xG, saved 11’ Sabah Kerjota (Hearts), open play, 0.02 xG, saved 23’ Jamie Gullan (St Johnstone), open play, 0.02 xG, blocked 68’ Blair Spittal (Hearts), open play, 0.03 xG, blocked 89’ Cláudio Braga (Hearts), open play, 0.02 xG, off target 79’ Pierre Landry Kaboré (Hearts), open play, 0.01 xG, off target 39’ Enes Alić (St Johnstone), own goal 48’ Ruari Paton (St Johnstone), open play, 0.55 xG, goal 9’ James Wilson (Hearts), open play, 0.53 xG, goal 7’ Laurent Mendy (Hearts), open play, 0.32 xG, saved 60’ Ruari Paton (St Johnstone), open play, 0.17 xG, saved 36’ Jordi Altena (Hearts), direct free kick, 0.16 xG, saved 76’ Macaulay Tait (St Johnstone), open play, 0.14 xG, blocked 72’ Tomas Magnusson (Hearts), from a corner, 0.12 xG, off target 25’ Laurent Mendy (Hearts), from a corner, 0.11 xG, off target 37’ Tomas Magnusson (Hearts), open play, 0.10 xG, saved 85’ Liam Smith (St Johnstone), open play, 0.09 xG, off target 26’ Jamie Gullan (St Johnstone), open play, 0.06 xG, off target 68’ Blair Spittal (Hearts), open play, 0.07 xG, hit the woodwork 44’ Sabah Kerjota (Hearts), open play, 0.05 xG, off target 42’ Josh Fowler (St Johnstone), open play, 0.05 xG, saved 38’ Cláudio Braga (Hearts), open play, 0.05 xG, off target 43’ Sabah Kerjota (Hearts), from a corner, 0.04 xG, blocked 43’ Josh McPake (Hearts), open play, 0.04 xG, saved 82’ Reece McAlear (St Johnstone), direct free kick, 0.03 xG, saved 4’ Jamie Gullan (St Johnstone), set piece, 0.03 xG, off target 24’ Laurent Mendy (Hearts), open play, 0.03 xG, saved 68’ Blair Spittal (Hearts), open play, 0.03 xG, blocked 11’ Sabah Kerjota (Hearts), open play, 0.02 xG, saved 23’ Jamie Gullan (St Johnstone), open play, 0.02 xG, blocked 89’ Cláudio Braga (Hearts), open play, 0.02 xG, off target 79’ Pierre Landry Kaboré (Hearts), open play, 0.01 xG, off target 39’ Enes Alić (St Johnstone), own goal
Size shows xG Goal On target Off target or blocked

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

Lineups

Hearts 4-2-3-1 Starting XI
Reus
Findlay
Altena
McEntee
Borchgrevink
Magnusson
Mendy 57’
McPake
Kerjota 81’
Braga
Wilson 57’
St Johnstone 4-4-2 Starting XI
Steward
Alić
Mitchell
Diabate
Smith 90’
Stanton 72’
McAlear
Holt
Gullan 73’
Fowler
Paton 73’

Player stats

Goalkeeper1 player
90′ 3 1 46 – – – – –
Defenders4 players
90′ – – – 4 2 40 2 – – –
90′ – 1 – 4 3 72 2 – – –
90′ – 1 1 2 1 56 – – – –
90′ 3 1 – 6 1 35 – – – –
Midfielders6 players
90′ – – 39 4 – 1 – 4 1 – –
Laurent Mendy Taken off
57′ – – 36 – – 2 1 7 3 1 –
Sabah Kerjota Taken off
81′ – – 35 – – 4 – 7 – 2 –
90′ – 1 19 2 – 2 1 8 1 5 –
Blair Spittal Came on as a substitute
33′ – – 14 2 – – – – – – –
Calvin Miller Came on as a substitute
9′ – – 1 – – 1 – 2 – – –
Forwards3 players
90′ – – 2 – 0.07 – 1 6 2 21 –
James Wilson Taken off
57′ 1 – 1 1 0.53 – – – – 4 –
Pierre Landry Kaboré Came on as a substitute
33′ – – 1 – 0.01 – – 3 – 9 –
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.

Before kick-off

Hearts win 54% Avg odds 1.72
Draw 24% Avg odds 3.84
St Johnstone win 22% Avg odds 4.34

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.