Tottenham vs Crystal Palace

31 October 2026 · Premier League · 2026/27 · Referee Michael Oliver

Full time 2 – 0

Half-time: 1–0

  • Archie Gray 25’
  • Jan Paul van Hecke 73’

Match summary

Tottenham beat Crystal Palace 2-0. Tottenham led 1-0 at half-time.

Archie Gray put Tottenham ahead with a header in the 25th minute, set up by Mohammed Kudus and Jan Paul van Hecke made it 2-0 with a header in the 73rd minute.

The chances backed that up: Tottenham created 4.04 expected goals (xG) from 34 shots to Crystal Palace's 0.14 from 2. Crystal Palace had a player sent off.

Tottenham secured a 2-0 victory against Crystal Palace in their Premier League fixture on matchday 9. The home side dominated proceedings thoroughly, recording 79 percent possession and completing 816 passes with 93 percent accuracy compared to the visitors 220 passes. Tottenham registered 34 shots, of which 9 were on target, alongside 19 corners and 147 attacks. In contrast, Crystal Palace managed just 2 shots with 1 on target and failed to win a single corner throughout the 90 minutes. Discipline was relatively even with 8 fouls committed by Tottenham and 10 by Crystal Palace, leading to 1 yellow card for each side and 1 red card shown to the away team.

The match turned decisively in the 13th minute when a VAR review resulted in a red card for Crystal Palace player Jean-Philippe Mateta following a foul. Tottenham soon capitalised on their numerical advantage when Archie Gray received a yellow card in the 15th minute before opening the scoring with a header in the 25th minute. Tottenham led 1-0 at half-time. In the second half, Óscar Mingueza received a yellow card for Crystal Palace in the 53rd minute. Jan Paul van Hecke sealed the result by scoring Tottenham's second goal with a header in the 73rd minute, bringing the final score to 2-0.

Match stats

79% Possession 21%
34 Shots 2
9 Shots on target 1
19 Corners 0
147 Attacks 39
126 Dangerous attacks 8
816 Passes 220
93% Pass accuracy 68%
17 Tackles 30
8 Fouls 10
1 Yellow cards 1
0 Red cards 1
2 Offsides 1

Key events

Tottenham Crystal Palace
Kick-off
Corner
2’
9’
Daichi KamadaShot on target
12’
12’
Jean-Philippe MatetaVAR card review
13’
15’
Corner
17’
Corner
24’
Archie GrayHeader1-0 (Tottenham)
25’
Corner
33’
Andrew RobertsonShot on target
40’
Corner
40’
Corner
42’
Half-time1-0
Corner
47’
Corner
47’
Second half underway
Omar MarmoushShot on target
50’
Dominic SolankeShot on target
51’
53’
Corner
59’
Corner
59’
Andrew RobertsonShot on target
71’
Corner
71’
Jan Paul van HeckeHeader2-0 (Tottenham)
73’
Jan Paul van HeckeShot on target
73’
Corner
73’
Conor GallagherShot on target
81’
Corner
82’
Corner
87’
Corner
87’
Corner
87’
Luca Williams-BarnettMathys Tel
88’
Dejan KulusevskiShot on target
90+1’
Corner
90+1’
Corner
90+2’
Corner
90+2’
Full-time2-0

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 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 4.04 0.14 25’ Archie Gray (Tottenham), 1-0 25’ 73’ Jan Paul van Hecke (Tottenham), 2-0 73’ 0 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 4.04 0.14 25’ Archie Gray (Tottenham), 1-0 Gray 25’ 73’ Jan Paul van Hecke (Tottenham), 2-0 van Hecke 73’
Tottenham 4.04 xGCrystal Palace 0.14 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Crystal Palace attacking Tottenham attacking 
73’ Jan Paul van Hecke (Tottenham), from a corner, 0.70 xG, goal 90’ Mohammed Kudus (Tottenham), open play, 0.47 xG, off target 73’ Jan Paul van Hecke (Tottenham), from a corner, 0.46 xG, saved 71’ Andrew Robertson (Tottenham), open play, 0.36 xG, saved 25’ Archie Gray (Tottenham), from a corner, 0.21 xG, goal 27’ Dominic Solanke (Tottenham), set piece, 0.13 xG, off target 81’ Conor Gallagher (Tottenham), open play, 0.13 xG, saved 47’ Jan Paul van Hecke (Tottenham), from a corner, 0.12 xG, off target 70’ Mathys Tel (Tottenham), open play, 0.11 xG, blocked 51’ Dominic Solanke (Tottenham), open play, 0.10 xG, saved 50’ Omar Marmoush (Tottenham), open play, 0.09 xG, saved 57’ Jan Paul van Hecke (Tottenham), set piece, 0.09 xG, off target 63’ Dwight McNeil (Crystal Palace), open play, 0.09 xG, blocked 59’ Dominic Solanke (Tottenham), open play, 0.09 xG, blocked 65’ Pedro Porro (Tottenham), open play, 0.08 xG, off target 46’ Mathys Tel (Tottenham), open play, 0.08 xG, blocked 68’ Omar Marmoush (Tottenham), open play, 0.08 xG, blocked 17’ Dominic Solanke (Tottenham), open play, 0.07 xG, blocked 90+1’ Dejan Kulusevski (Tottenham), open play, 0.07 xG, saved 23’ Mohammed Kudus (Tottenham), open play, 0.06 xG, off target 82’ Conor Gallagher (Tottenham), from a corner, 0.06 xG, blocked 33’ Mohammed Kudus (Tottenham), from a corner, 0.05 xG, off target 67’ Mathys Tel (Tottenham), open play, 0.05 xG, off target 9’ Daichi Kamada (Crystal Palace), open play, 0.04 xG, saved 22’ Mathys Tel (Tottenham), open play, 0.05 xG, blocked 41’ Omar Marmoush (Tottenham), open play, 0.05 xG, blocked 55’ Mateus Fernandes (Tottenham), open play, 0.04 xG, blocked 88’ Pedro Porro (Tottenham), from a corner, 0.04 xG, off target 47’ Mateus Fernandes (Tottenham), from a corner, 0.04 xG, blocked 73’ Conor Gallagher (Tottenham), from a corner, 0.04 xG, blocked 49’ Mateus Fernandes (Tottenham), open play, 0.03 xG, off target 58’ Omar Marmoush (Tottenham), open play, 0.03 xG, blocked 52’ Pedro Porro (Tottenham), open play, 0.02 xG, blocked 61’ Jan Paul van Hecke (Tottenham), open play, 0.02 xG, off target 76’ Sandro Tonali (Tottenham), open play, 0.02 xG, off target 40’ Andrew Robertson (Tottenham), open play, 0.02 xG, saved 73’ Jan Paul van Hecke (Tottenham), from a corner, 0.70 xG, goal 73’ Jan Paul van Hecke (Tottenham), from a corner, 0.46 xG, saved 90’ Mohammed Kudus (Tottenham), open play, 0.47 xG, off target 71’ Andrew Robertson (Tottenham), open play, 0.36 xG, saved 25’ Archie Gray (Tottenham), from a corner, 0.21 xG, goal 27’ Dominic Solanke (Tottenham), set piece, 0.13 xG, off target 81’ Conor Gallagher (Tottenham), open play, 0.13 xG, saved 47’ Jan Paul van Hecke (Tottenham), from a corner, 0.12 xG, off target 70’ Mathys Tel (Tottenham), open play, 0.11 xG, blocked 51’ Dominic Solanke (Tottenham), open play, 0.10 xG, saved 63’ Dwight McNeil (Crystal Palace), open play, 0.09 xG, blocked 57’ Jan Paul van Hecke (Tottenham), set piece, 0.09 xG, off target 50’ Omar Marmoush (Tottenham), open play, 0.09 xG, saved 59’ Dominic Solanke (Tottenham), open play, 0.09 xG, blocked 65’ Pedro Porro (Tottenham), open play, 0.08 xG, off target 46’ Mathys Tel (Tottenham), open play, 0.08 xG, blocked 68’ Omar Marmoush (Tottenham), open play, 0.08 xG, blocked 90+1’ Dejan Kulusevski (Tottenham), open play, 0.07 xG, saved 17’ Dominic Solanke (Tottenham), open play, 0.07 xG, blocked 23’ Mohammed Kudus (Tottenham), open play, 0.06 xG, off target 82’ Conor Gallagher (Tottenham), from a corner, 0.06 xG, blocked 33’ Mohammed Kudus (Tottenham), from a corner, 0.05 xG, off target 67’ Mathys Tel (Tottenham), open play, 0.05 xG, off target 22’ Mathys Tel (Tottenham), open play, 0.05 xG, blocked 41’ Omar Marmoush (Tottenham), open play, 0.05 xG, blocked 9’ Daichi Kamada (Crystal Palace), open play, 0.04 xG, saved 47’ Mateus Fernandes (Tottenham), from a corner, 0.04 xG, blocked 55’ Mateus Fernandes (Tottenham), open play, 0.04 xG, blocked 88’ Pedro Porro (Tottenham), from a corner, 0.04 xG, off target 73’ Conor Gallagher (Tottenham), from a corner, 0.04 xG, blocked 49’ Mateus Fernandes (Tottenham), open play, 0.03 xG, off target 58’ Omar Marmoush (Tottenham), open play, 0.03 xG, blocked 52’ Pedro Porro (Tottenham), open play, 0.02 xG, blocked 76’ Sandro Tonali (Tottenham), open play, 0.02 xG, off target 40’ Andrew Robertson (Tottenham), open play, 0.02 xG, saved 61’ Jan Paul van Hecke (Tottenham), open play, 0.02 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

Tottenham 4-2-3-1 Starting XI
Kinský
Gray 46’
Hecke
Ven
Robertson 77’
Fernandes
Tonali
Kudus
Marmoush 77’
Tel 88’
Solanke 66’
Crystal Palace 3-4-2-1 Starting XI
Henderson
Canvot
Disasi
Richards
Mitchell
Kamada 88’
Wharton 88’
Mingueza 60’
Pino 60’
McNeil 77’
Mateta

Player stats

Goalkeeper1 player
90′ 1 0 13 – – – – –
Defenders6 players
Archie Gray Taken off
45′ – 1 – – – 47 1 1 –
90′ – – – 6 4 125 – – – –
90′ – – – 4 4 151 – 1 – –
Andrew Robertson Taken off
77′ 2 – – 2 – 89 – – – –
Pedro Porro Came on as a substitute
45′ 1 – – 1 – 49 – – – –
Iyenoma Destiny Udogie Came on as a substitute
13′ – 1 – – – 15 1 – – –
Midfielders8 players
90′ – – 74 – – 4 2 4 1 – –
90′ – – 81 4 0.61 5 – 8 2 – –
90′ – 1 54 3 0.34 1 – 11 – 4 –
Omar Marmoush Taken off
77′ – – 26 3 0.53 – – 3 2 – –
Mathys Tel Taken off
88′ – – 53 4 0.23 1 2 11 1 2 –
Conor Gallagher Came on as a substitute
24′ – – 21 – – 1 – 2 – – –
Dejan Kulusevski Came on as a substitute
13′ – – 4 – – 1 – 1 – – –
Luca Williams-Barnett Came on as a substitute
2′ – – 5 1 0.47 – – 1 – – –
Forwards1 player
Dominic Solanke Taken off
66′ – – 4 1 0.38 0.08 1 3 1 8 –
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

Tottenham win 58% Avg odds 1.63 Our estimate 40%
Draw 23% Avg odds 4.13 Our estimate 28%
Crystal Palace win 19% Avg odds 4.91 Our estimate 32%

Chances implied by the average closing odds, with the bookmaker margin removed. Our estimate is the figure from before kick-off. How our figures work.

Form going into the game

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

Previous and next meeting

Our write-up of this game.

Shots, expected goals and player data from Understat. Timeline, lineups, team and player statistics from Sportmonks. Results and odds from football-data.co.uk.