Tottenham 2–0 Crystal Palace

2026-10-31 17:30, Tottenham Hotspur Stadium. Half time 1–0. Archie Gray 24', Jan Paul van Hecke 72'

2026-10-31 17:30
4.1
expected goals
+3.8 to Tottenham
0.2

Tottenham created more, 4.1 to 0.2 expected goals, and won.

34Shots2
1.96Expected goals from open play0.05
2.10From set pieces0.18
4.06Excluding penalties0.23
2.77As the rating counts them0.20
3.0Points the chances deserved0.0

Rating brought into the match, expected goals a match as the rating counts them: Tottenham creates 1.11 and allows 0.92; Crystal Palace creates 1.05 and allows 1.03.

The result the chances deserved

From the two sides' shots taken together: Tottenham win 98 per cent, draw 2, Crystal Palace win 0. Tottenham deserved 3.0 points and took 3; Crystal Palace deserved 0.0 and took 0.

Each shot scores with its own probability, independently; two shots in one passage of play both count although only one could have scored, so a match with rebounds is slightly overstated.

Where the chances were

Tottenham attack this way →← Crystal Palace attack this wayDaichi Kamada 8': 0.05 expected goalsDominic Solanke 16': 0.08 expected goalsMathys Tel 21': 0.06 expected goalsMohammed Kudus 22': 0.08 expected goalsArchie Gray 24': 0.05 expected goals, GOALDominic Solanke 26': 0.26 expected goalsMohammed Kudus 32': 0.03 expected goalsAndy Robertson 39': 0.02 expected goalsOmar Marmoush 40': 0.07 expected goalsMathys Tel 45': 0.19 expected goalsMateus Fernandes 46': 0.05 expected goalsJan Paul van Hecke 46': 0.18 expected goalsMateus Fernandes 48': 0.01 expected goalsOmar Marmoush 49': 0.04 expected goalsDominic Solanke 50': 0.11 expected goalsPedro Porro 51': 0.02 expected goalsMateus Fernandes 54': 0.03 expected goalsJan Paul van Hecke 56': 0.14 expected goalsOmar Marmoush 57': 0.03 expected goalsDominic Solanke 58': 0.09 expected goalsJan Paul van Hecke 60': 0.03 expected goalsDwight McNeil 62': 0.18 expected goalsPedro Porro 64': 0.12 expected goalsMathys Tel 66': 0.04 expected goalsOmar Marmoush 67': 0.15 expected goalsMathys Tel 69': 0.09 expected goalsAndy Robertson 70': 0.17 expected goalsConor Gallagher 72': 0.05 expected goalsJan Paul van Hecke 72': 0.33 expected goalsJan Paul van Hecke 72': 0.71 expected goals, GOALSandro Tonali 75': 0.04 expected goalsConor Gallagher 80': 0.23 expected goalsConor Gallagher 81': 0.22 expected goalsPedro Porro 87': 0.09 expected goalsMohammed Kudus 89': 0.19 expected goalsDejan Kulusevski 90': 0.07 expected goals

One mark per shot, larger for a better chance; filled marks are goals. Hover a mark for the player and the chance.

How the match built up

0.001.002.003.004.0001122334455667788MinuteTottenham: 0Tottenham, 16': Dominic Solanke, 0.08 expected goalsTottenham, 21': Mathys Tel, 0.06 expected goalsTottenham, 22': Mohammed Kudus, 0.08 expected goalsTottenham, 24': Archie Gray, 0.05 expected goals, GOALTottenham, 26': Dominic Solanke, 0.26 expected goalsTottenham, 32': Mohammed Kudus, 0.03 expected goalsTottenham, 39': Andy Robertson, 0.02 expected goalsTottenham, 40': Omar Marmoush, 0.07 expected goalsTottenham, 45': Mathys Tel, 0.19 expected goalsTottenham, 46': Mateus Fernandes, 0.05 expected goalsTottenham, 46': Jan Paul van Hecke, 0.18 expected goalsTottenham, 48': Mateus Fernandes, 0.01 expected goalsTottenham, 49': Omar Marmoush, 0.04 expected goalsTottenham, 50': Dominic Solanke, 0.11 expected goalsTottenham, 51': Pedro Porro, 0.02 expected goalsTottenham, 54': Mateus Fernandes, 0.03 expected goalsTottenham, 56': Jan Paul van Hecke, 0.14 expected goalsTottenham, 57': Omar Marmoush, 0.03 expected goalsTottenham, 58': Dominic Solanke, 0.09 expected goalsTottenham, 60': Jan Paul van Hecke, 0.03 expected goalsTottenham, 64': Pedro Porro, 0.12 expected goalsTottenham, 66': Mathys Tel, 0.04 expected goalsTottenham, 67': Omar Marmoush, 0.15 expected goalsTottenham, 69': Mathys Tel, 0.09 expected goalsTottenham, 70': Andy Robertson, 0.17 expected goalsTottenham, 72': Conor Gallagher, 0.05 expected goalsTottenham, 72': Jan Paul van Hecke, 0.33 expected goalsTottenham, 72': Jan Paul van Hecke, 0.71 expected goals, GOALTottenham, 75': Sandro Tonali, 0.04 expected goalsTottenham, 80': Conor Gallagher, 0.23 expected goalsTottenham, 81': Conor Gallagher, 0.22 expected goalsTottenham, 87': Pedro Porro, 0.09 expected goalsTottenham, 89': Mohammed Kudus, 0.19 expected goalsTottenham, 90': Dejan Kulusevski, 0.07 expected goalsTottenham: 4.06Crystal Palace: 0Crystal Palace, 8': Daichi Kamada, 0.05 expected goalsCrystal Palace, 62': Dwight McNeil, 0.18 expected goalsCrystal Palace: 0.23TottenhamCrystal PalaceGOAL Archie Gray 24'GOAL Jan Paul van Hecke 72'

Expected goals added up through the match; the rings are goals.

Expected goals, three ways

Expected goalsTottenhamCrystal Palace
In full4.060.23
Excluding penalties4.060.23
As the rating counts them2.770.20

In full, every chance counts at its value. What the numbers mean says how the rating counts a chance.

Where each side's chances came from

Expected goals fromTottenhamCrystal Palace
Open play1.960.05
of which counter-attacks0.090.00
Set pieces2.100.18
Penalties0.000.00
Headers1.790.00
Inside the box3.520.18
Shots342
Expected goals a shot0.120.11

Every shot

MinSidePlayerResultxGPlayBodyMetres
8:58Crystal PalaceDaichi Kamada Saved0.05RegularPlayfoot20
16:10TottenhamDominic Solanke Blocked0.08RegularPlayfoot17
21:44TottenhamMathys Tel Blocked0.06RegularPlayfoot19
22:12TottenhamMohammed Kudus Missed0.08RegularPlayfoot9
24:01TottenhamArchie Gray Goal0.05FromCornerhead8
26:25TottenhamDominic Solanke Missed0.26SetPiecehead6
32:27TottenhamMohammed Kudus Missed0.03FromCornerother12
39:52TottenhamAndy Robertson Saved0.02RegularPlayfoot27
40:54TottenhamOmar Marmoush Blocked0.07RegularPlayfoot21
45:54TottenhamMathys Tel Blocked0.19RegularPlayfoot18
46:27TottenhamMateus Fernandes Blocked0.05FromCornerfoot17
46:38TottenhamJan Paul van Hecke Missed0.18FromCornerhead6
48:17TottenhamMateus Fernandes Missed0.01RegularPlayfoot26
49:27TottenhamOmar Marmoush Saved0.04RegularPlayhead11
50:13TottenhamDominic Solanke Saved0.11RegularPlayfoot15
51:04TottenhamPedro Porro Blocked0.02RegularPlayfoot28
54:50TottenhamMateus Fernandes Blocked0.03RegularPlayfoot22
56:06TottenhamJan Paul van Hecke Missed0.14SetPiecefoot8
57:28TottenhamOmar Marmoush Blocked0.03RegularPlayfoot24
58:19TottenhamDominic Solanke Blocked0.09RegularPlayfoot16
60:57TottenhamJan Paul van Hecke Missed0.03RegularPlayfoot27
62:13Crystal PalaceDwight McNeil Blocked0.18ThrowinSetPiecefoot10
64:49TottenhamPedro Porro Missed0.12RegularPlayfoot13
66:36TottenhamMathys Tel Missed0.04RegularPlayfoot20
67:49TottenhamOmar Marmoush Blocked0.15RegularPlayfoot12
69:09TottenhamMathys Tel Blocked0.09FastBreakfoot18
70:27TottenhamAndy Robertson Saved0.17RegularPlayfoot10
72:41TottenhamConor Gallagher Blocked0.05FromCornerfoot16
72:49TottenhamJan Paul van Hecke Saved0.33FromCornerhead5
72:50TottenhamJan Paul van Hecke Goal0.71FromCornerhead3
75:38TottenhamSandro Tonali Missed0.04RegularPlayfoot24
80:25TottenhamConor Gallagher Saved0.23RegularPlayfoot9
81:06TottenhamConor Gallagher Blocked0.22FromCornerhead5
87:01TottenhamPedro Porro Missed0.09FromCornerfoot16
89:49TottenhamMohammed Kudus Missed0.19RegularPlayfoot8
90:30TottenhamDejan Kulusevski Saved0.07RegularPlayfoot19

Match statistics

TottenhamCrystal Palace
Corners190
Shots342
Shots on target91
Shots off target120
Total passes816220
Pass accuracy %93.068.2
Fouls committed810
Total yellow cards11

Counts of the events in the match feed whose definitions the project has checked against a second source.