West Ham United found a way to stay alive in the Premier League survival fight, and they did it in the most dramatic fashion possible.
For much of the afternoon at the London Stadium, this looked like a game being played under a low ceiling of fear. West Ham carried the weight of the relegation battle. Everton carried the frustration of a season where European hopes have flickered without ever quite becoming convincing. The football was often tense, the rhythm uneven, and the pressure obvious.
But when West Ham needed one final moment, they found it.
Callum Wilson came off the bench to score a stoppage-time winner and give West Ham a precious 2-1 victory over Everton. It was a result that keeps Nuno Espírito Santo’s side above the relegation zone and keeps Tottenham behind them, but only just. This was not a performance full of polish. It was something more valuable at this stage of the season: survival football with a pulse.
West Ham had gone ahead through Tomas Soucek early in the second half, only for Kiernan Dewsbury-Hall to lash Everton level late on. At that point, the London Stadium turned anxious. Tottenham were winning at Wolves, Everton had finally found a way through, and West Ham suddenly looked as though another vital lead might be slipping through their fingers.
Then Malick Diouf delivered from the left, Jarrod Bowen showed his captain’s instincts at the far post, and Wilson did what he has so often done against Everton. He was alive in the box when others were flat-footed. One touch, one finish, one enormous roar.
That goal may yet be remembered as one of the biggest of West Ham’s season.
Everton will be furious with themselves. David Moyes, returning to the London Stadium on his 750th Premier League match as a manager, watched his side recover late and then immediately lose control of the game again. Their equaliser should have been a platform. Instead, it became a brief flash before the collapse.
The first half had been low-key. Everton had more of the ball and looked tidy in spells, but they lacked real punch in the final third. James Garner and Idrissa Gana Gueye tried to give the visitors a platform, Kiernan Dewsbury-Hall looked for pockets between the lines, and Iliman Ndiaye carried threat when he could get turned, but Everton did not do enough to truly test West Ham before the break.
West Ham were not fluent either. They had Jarrod Bowen’s work rate, Crysencio Summerville’s direct running and the physical presence of Valentín Castellanos, but too often the home side looked nervous when trying to build attacks. It felt like the kind of match where one mistake, one set-piece or one moment of sharpness would decide everything.
That is exactly what happened after the interval.
Bowen swung in a corner and Soucek attacked it with the hunger West Ham needed. The Czech midfielder rose above Everton’s defenders and headed past Jordan Pickford to make it 1-0. It was classic Soucek: not glamorous, not delicate, but brutally effective. In a match of nerves, he gave West Ham something solid to hold.
Everton’s defending was poor. For a side managed by Moyes, conceding in that fashion from a set-piece will sting. The marking was too loose, the reaction too slow, and Soucek was allowed to do what he does best.
After the goal, West Ham dropped deeper. That was understandable given the pressure of the table, but it also invited Everton back into the match. The visitors began to push higher, and Thierno Barry became more involved. Soucek had to produce a huge defensive intervention when Barry’s header was turned onto the bar. That moment mattered almost as much as his goal.
There was also a major penalty controversy. Everton felt they should have had a spot-kick when Mateus Fernandes handled in the area under pressure from Barry, but the officials did not award it. Moyes will have every right to be angry about that incident, but Everton will also know they left too much until too late.
The equaliser eventually came in the 88th minute. Vitalii Mykolenko crossed from the left, James Tarkowski won the first contact, and Dewsbury-Hall struck a superb finish high into the net. It was Everton’s best attacking moment of the match and, for a few minutes, it looked like it had changed everything.
West Ham were wobbling. Everton had momentum. The home crowd feared the worst.
But survival battles do strange things to teams. They can break them, or they can force something out of them. West Ham found something.
Diouf’s cross from the left caused the problem, Bowen drifted in cleverly at the back post and headed the ball back into danger, and Wilson finished like a striker who knew exactly where the chance would fall. It was not just a goal of instinct. It was a goal of experience.
Wilson has made a habit of punishing Everton, and this was another painful chapter for the Toffees. For West Ham, it was priceless.
Bowen was rightly central to the winning moment. Even on an afternoon where West Ham were not always in control, he kept running, kept demanding the ball and kept taking responsibility. His assist for Wilson was the act of a captain who still had the clarity to make the right decision in the most frantic part of the game.
Soucek was equally important. He scored the opener, defended his own box with courage and gave West Ham the kind of rugged presence they needed. In a nervous team, he looked like one of the few players prepared to take the blows and keep moving.
For Everton, this was a damaging defeat. They had 56 per cent possession and more shots than West Ham, but that only underlines the frustration. They were not clinical enough, not ruthless enough and not composed enough after getting themselves level. A point was there. They let it vanish.
Moyes’ side are not a bad team, but this was the kind of defeat that explains why their European push has lacked conviction. They have quality, but they still have moments where games escape them. Late goals against Liverpool and now West Ham have left a nasty mark.
For West Ham, the fight goes on. They are not safe. Nobody at the club will pretend otherwise. Their remaining games still look difficult, the table remains tight, and the margin for error is tiny. But this was a day when they needed to win and somehow did.
It was messy. It was nervy. It was dramatic. It was West Ham living on the edge.
And when the final whistle came, the London Stadium did not care about elegance. It cared about three points, survival, and one late finish from Callum Wilson that kept the Hammers breathing.

