Tottenham 2-0 Crystal Palace: Gray and van Hecke settle it after Mateta red card
Tottenham got the job done on Saturday, 31 October 2026, beating Crystal Palace 2-0 at Tottenham Hotspur Stadium in the Premier League. It was a result built on control, patience and an early turning point that left Palace chasing the match with 10 men.
Jean-Philippe Mateta was sent off in the 13th minute after a VAR check in the 12th minute confirmed the card upgrade. From there, the match became exactly what the numbers suggest: Tottenham with the ball, Tottenham piling up shots and Palace trying to survive in a low block for as long as possible.
Archie Gray scored in the 25th minute, assisted by Mohammed Kudus. Jan Paul van Hecke made it 2-0 in the 73rd minute. There was no late scare and no loss of control from the home side.
For Tottenham, this was more than three points. It was a third straight league win in their current run, enough to keep them eighth on 12 points and close to the European places. For Palace and P. Sage, it was another damaging afternoon. They remain 18th with 7 points, stuck in the relegation places and now carrying the cost of Mateta’s suspension.
The match story
T. Frank started Tottenham in a 4-2-3-1: AntonĂn KinskĂ˝ in goal, with Archie Gray, Jan Paul van Hecke, Micky van de Ven and Andrew Robertson across the back. Sandro Tonali and Mateus Fernandes formed the midfield base, with Mohammed Kudus, Omar Marmoush and Mathys Tel behind Dominic Solanke.
P. Sage set Palace up in a 3-4-2-1: Dean Henderson in goal, behind Chris Richards, Axel Disasi and Jean Canvot. Óscar Mingueza, Adam Wharton, Daichi Kamada and Tyrick Mitchell made up the midfield line, with Dwight McNeil and Yeremy Pino supporting Jean-Philippe Mateta.
That structure lasted only 13 minutes.
Mateta’s red card changed everything. Palace lost their reference point, their outlet and their first pass out of pressure. They had come with a 3-4-2-1 designed to spring forward through McNeil, Pino and Mateta, but after the dismissal they were forced into a survival shape, with the wing-backs pinned deep and the midfield line dragged closer to the centre-backs.
Tottenham did not need to chase the game after that. They had the ball, the spare man and the territory. The question was whether they could turn dominance into a lead before Palace settled into the long task of defending.
They did. Gray, already booked in the 15th minute, scored in the 25th minute from Kudus’s assist. The goal mattered because it stopped the match becoming one of those long, nervous home sieges where every missed chance gives the away side encouragement. Tottenham were ahead early enough to make Palace run, shuffle and suffer.
Frank still acted at the break. Pedro Porro came on for Gray in the 45th minute, a practical decision with Gray on a yellow card and Tottenham in control. It also kept the right side fresh against a Palace side increasingly camped in their own half.
The second goal arrived in the 73rd minute through Jan Paul van Hecke. The event data lists it as a normal goal with no assist. It killed the contest. Palace had been hanging on through Henderson’s saves and the blocks in front of him, but at 2-0 the result was no longer in doubt.
Why Tottenham controlled it
This was a game of territory and repetition. Tottenham finished with 79 percent possession, 815 passes and 759 accurate passes. Palace had 223 passes and only 151 accurate. That gap tells the story as clearly as the scoreline.
Van Hecke was central to it. He scored, had 5 shots, completed 143 of 151 passes and won all 4 of his duels. From centre-back, he was not just recycling possession; he was helping keep Palace locked in.
Micky van de Ven also gave Tottenham total security, completing all 123 of his passes. That allowed Tonali and Mateus Fernandes to play higher and keep the pressure on. Tonali completed 69 of 74 passes and added 3 interceptions. Mateus Fernandes was even more progressive, with 81 passes, 4 key passes and 8 duels won.
The wide players stretched Palace until the visitors had no clean route out. Kudus was the most dangerous connector: 1 assist, 3 key passes, 9 dribble attempts and 4 fouls drawn. He gave Tottenham the imbalance they needed against a compact block. Tel was also relentless, producing 4 key passes and attempting 10 dribbles. Marmoush added 3 key passes and completed all 3 of his dribbles.
It was not perfect finishing. Tottenham had 34 shots, 9 on target and an expected goals total of 3.55, but scored twice. Henderson made 7 saves, which is why Palace stayed alive until the 73rd minute. But the direction of the game never really changed.
Palace’s problem after the red card
Palace’s plan disappeared with Mateta. Before the red card, they had a striker to play into. After it, they had a long defensive shift with very little reward.
They ended with 2 total shots, 1 on target and 0 corners. Their expected goals total was 0.21. Kamada had Palace’s only shot on target. McNeil had their other shot. That was it.
Sage tried to alter the shape in the 60th minute, sending Eddie Nketiah on for Yeremy Pino and Anan Khalaili on for Óscar Mingueza. It gave Palace legs, but not control. Dario Osorio replaced Dwight McNeil in the 77th minute, then Will Hughes came on for Daichi Kamada and Jefferson Lerma replaced Adam Wharton in the 88th minute. By then, Palace were already deep in damage limitation.
The yellow card for Mingueza in the 53rd minute summed up their afternoon: late to moments, under pressure and forced to defend too much space for too long.
Key statistics
| Statistic | Tottenham | Crystal Palace |
|---|---|---|
| Possession | 79% | 21% |
| Total shots | 34 | 2 |
| Shots on goal | 9 | 1 |
| Expected goals | 3.55 | 0.21 |
| Total passes | 815 | 223 |
| Accurate passes | 759 | 151 |
| Corners | 19 | 0 |
| Goalkeeper saves | 1 | 7 |
| Fouls | 8 | 10 |
| Red cards | 0 | 1 |
Match events
| Minute | Event |
|---|---|
| 12th minute | VAR card upgrade confirmed for Jean-Philippe Mateta |
| 13th minute | Red card for Jean-Philippe Mateta |
| 15th minute | Yellow card for Archie Gray |
| 25th minute | Goal for Tottenham: Archie Gray, assisted by Mohammed Kudus |
| 45th minute | Tottenham substitution: Pedro Porro on for Archie Gray |
| 53rd minute | Yellow card for Óscar Mingueza |
| 60th minute | Crystal Palace substitution: Eddie Nketiah on for Yeremy Pino |
| 60th minute | Crystal Palace substitution: Anan Khalaili on for Óscar Mingueza |
| 66th minute | Tottenham substitution: Conor Gallagher on for Dominic Solanke |
| 73rd minute | Goal for Tottenham: Jan Paul van Hecke |
| 77th minute | Tottenham substitution: Destiny Udogie on for Andrew Robertson |
| 77th minute | Tottenham substitution: Dejan Kulusevski on for Omar Marmoush |
| 77th minute | Crystal Palace substitution: Dario Osorio on for Dwight McNeil |
| 88th minute | Tottenham substitution: Luca Jamie Williams-Barnett on for Mathys Tel |
| 88th minute | Crystal Palace substitution: Will Hughes on for Daichi Kamada |
| 88th minute | Crystal Palace substitution: Jefferson Lerma on for Adam Wharton |
What it means
Tottenham move on with momentum and a cleaner goal difference. The performance was dominant rather than dazzling, but Frank will take that. His side controlled the ball, protected the clean sheet and found goals from two defenders, Gray and van Hecke. That matters in a league where the top half is already compressed.
Palace leave north London with a bigger problem. The red card gave them an explanation for the shape of the game, but not for the wider picture. They are 18th, on 7 points, with a goal difference of -12. Sage needs points quickly, and now he must find them without Mateta for the next part of the schedule.
Tottenham’s next step is to turn control into sharper finishing. Palace’s is simpler and more urgent: stop the slide before the relegation line becomes more than an early-season warning.







