Lukasz Fabianski
Two good stops in the first half from Adams and Ings and another after the break from Walcott. 7
Ryan Fredericks
Making his first start in the league since late September. Could have done better with a header late in the first half but did well defensively to his credit, especially after having not played for a while. 7
Angelo Ogbonna
Very good. Composed, authoritative and aside from Ings' disallowed goal, gave the feared striker absolutely nothing. 8
Craig Dawson
Shaky opening as Ings went past him far too easily to score before the flag went up for offside. Got better as the game went on though and to be fair, no complaints about his performance at all. Aside from volleying Che Adams in the head. 7
Aaron Cresswell
Struggled in the first half up against Walker-Peters and Walcott but got to grips with them and the game, especially in the second half. Set piece delivery was good. 7
Declan Rice

Constantly looked frustrated as he struggled to find any sort of pass to a teammate through Saints’ intense pressing. Led the team well, battling performance. 7
Tomas Soucek
Ineffective for the most part in attacking sense but got through some serious miles defensively. Good second half, no idea where he gets all his energy from. 7
Manuel Lanzini
Fired over a decent chance late in the first half but didn’t see enough of the ball throughout his hour on the pitch. Busy enough but no real threat. 6
Pablo Fornals
Was playing far too narrow and it was hindering the Hammers as they had no outlet to launch attacks. Astonishing clearance defensively late on and put in a proper shift. 7
Andriy Yarmolenko
Incredibly sloppy with the ball in the early stages of the game but Saints didn’t have an answer for him when he did have it. That said, he was incredibly frustrating and someone needs to teach him how to use his right foot. Tricks aplenty but no end product. Booked. 6
Sebastien Haller
Cut a forlorn figure throughout as he barely had a sniff on goal though again, some of the service to him was pretty average. No chances of note but he wasn't bad, just barely faced the Southampton goal throughout. 6
Substitutes
Said Benrahma (for Lanzini, 60’)
Made a big impact with his direct running from the number ten role as he looked to get the visitors moving quickly. Forced a super save from McCarthy late on. 7
Jarrod Bowen (for Yarmolenko, 70’)
Plenty of running but drifted inside too often when he should have been running at Bertrand. 5
Michail Antonio (for Haller, 75’)
Made his long-awaited return and looked lively. 5