CHELSEA RATINGS: Edouard Mendy - 6: Both goalkeepers were spectators in a lacklustre first half. More of the same in the second half for the Senagalese bar one double save from Yarmolenko that arrived before linesman’s flag went up. PA
Trevoh Chalobah - 6: Late replacement for Andreas Christensen at back and lucky not to be punished in first 20 minutes after being caught dawdling on ball by Benrahma. Had shot saved by Fabianksi just before hour mark. Getty
Thiago Silva - 7: Even usually reliable Brazilian gifted ball to West Ham in first half as Chelsea’s recent defensive wobbles continued. Not really troubled for rest of match, though, with West Ham offering little threat. Getty
Cesar Azpilicueta - 5: Caught in possession, guilty of passing ball straight to opposition and saw weak shot easily blocked in poor start to game by Spaniard. Better after break as Chelsea improved as a whole. Reuters
Marcos Alonso - 7: One ball just before break that Spaniard punted out for goal-kick summed up Chelsea’s first-half efforts going forward. Booked in second half for elbow into back of Soucek’s head. Persevered with runs down left and supplied cross for winner. Reuters
Jorginho - 4: Back in starting XI after missing Arsenal game and helped side dominate possession in first 45 but Italian, and team as whole, guilty of not moving ball around quick enough. Dreadful late penalty hit low and straight into hands of Fabianski. Getty
N’Golo Kante - 7: Drilled game’s first shot on goal wide of target and was home team’s liveliest player in first half, which isn’t saying much. Then had game’s first shot on target – albeit a deflected one straight at goalkeeper - after 57 minutes. AFP
Ruben Loftus-Cheek - 5: Decision making and final ball sadly lacking with Chelsea crying out for some midfield creativity. EPA
Mason Mount 6: Strangely subdued performance from England attacker and little impact until 70th minute shot was blocked by Dawson. Curled shot just over bar minutes after Pulisic goal. Getty
Timo Werner - 6: German buzzed around without any cutting edge. Had one shot that looked goal-bound until blocked at start of second half but then should have done better with two other efforts – one hit into side-netting, one straight at goalkeeper on the stretch. EPA
Kai Havertz - 3: Forgot he was playing in first half when his contribution and impact was non-existent. Little improvement after break in what was really disappointing showing from German. EPA
SUBS: Hakim Ziyech – (On for Loftus-Cheek 75’) 6: Drilled shot wide as Chelsea substitutes provided much-needed spark. Getty
Romelu Lukaku – (On for Havertz 75’) 6: Hauled to ground by Dawson for late penalty only for Jorginho to fluff his lines. AFP
Christian Pulisic – (On for Werner 75’) 7: Grabbed unlikely winner minutes after Jorginho penalty miss. AFP
WEST HAM RATINGS: Lukasz Fabianski - 7: Enjoyed quiet afternoon in sunshine in first half as neither side managed shot on target. Finally called into action in second half with solid rather than spectacular stops. Easiest penalty save he’ll ever make from Jorginho’s powder-puff effort. No chance with goal. Reuters
Ben Johnson - 7: Hammers’ patched-up defence coped easily with the home attack until late in game when Chelsea pressure, combined with Dawson red card, meant Hammers were finally opened up. AFP
Craig Dawson - 6: Last centre-half standing for injury-hit Hammers. Brilliant flying challenge on Werner volley early just after break and another important block on Mount’s shot later in half. Had been immaculate until giving away late penalty for fouling Lukaku when he was then sent-off after VAR referral. AFP
Aaron Cresswell - 7: Great recovery challenge after slipping on edge of box in first half and no problems defensively, one good block after break on Kante strike. No sign of his trademark balls into opposition box. EPA
Vladimir Coufal - 5: Czech full-back played his part in West Ham’s resolute and well-organised defensive performance that probably deserved a point. AFP
Tomas Soucek - 5: No chance to show his aerial prowess in home penalty area and should have done better with weak shot that was easily blocked after 56 minutes. EPA
Mark Noble - 7: Only second start of season for club captain. Veteran was neat, tidy and held his own against Kante and Jorginho in middle of park here before being replaced just after hour mark. Getty
Arthur Masuaku - 7: Scored a freak late winner in the reverse fixture but no opportunity to repeat that here but impressive defensive work. AP
Said Benrahma - 7: Pressured West Ham defence well early on robbing both Azpilicueta and Chalobah of the ball. Good workrate but no sniff on goal for Algerian. Getty
Pablo Fornals - 6: One decent ball through to Yarmolenko in first half but Spaniard failed to make any major attacking impact. Getty
Andriy Yarmolenko - 6: Hooked shot across face of goal in first half when Benrahma looked better placed to take on chance. Denied by double Mendy save although would have been ruled out for offside even if he had found way past Senegalese keeper. PA
SUBS: Declan Rice – (On for Noble 62’) 5: Left on bench with Thursday’s Europa League semi-final in mind and couldn’t stop Pulisic scoring late winner. Getty
Jarrod Bowen – (On for Yarmolenko 73’) 5: No chance to make mark. Reuters
Manuel Lanzini – (On for Benrahma 78’) N/A. EPA
CHELSEA RATINGS: Edouard Mendy - 6: Both goalkeepers were spectators in a lacklustre first half. More of the same in the second half for the Senagalese bar one double save from Yarmolenko that arrived before linesman’s flag went up. PA
Trevoh Chalobah - 6: Late replacement for Andreas Christensen at back and lucky not to be punished in first 20 minutes after being caught dawdling on ball by Benrahma. Had shot saved by Fabianksi just before hour mark. Getty
Thiago Silva - 7: Even usually reliable Brazilian gifted ball to West Ham in first half as Chelsea’s recent defensive wobbles continued. Not really troubled for rest of match, though, with West Ham offering little threat. Getty
Cesar Azpilicueta - 5: Caught in possession, guilty of passing ball straight to opposition and saw weak shot easily blocked in poor start to game by Spaniard. Better after break as Chelsea improved as a whole. Reuters
Marcos Alonso - 7: One ball just before break that Spaniard punted out for goal-kick summed up Chelsea’s first-half efforts going forward. Booked in second half for elbow into back of Soucek’s head. Persevered with runs down left and supplied cross for winner. Reuters
Jorginho - 4: Back in starting XI after missing Arsenal game and helped side dominate possession in first 45 but Italian, and team as whole, guilty of not moving ball around quick enough. Dreadful late penalty hit low and straight into hands of Fabianski. Getty
N’Golo Kante - 7: Drilled game’s first shot on goal wide of target and was home team’s liveliest player in first half, which isn’t saying much. Then had game’s first shot on target – albeit a deflected one straight at goalkeeper - after 57 minutes. AFP
Ruben Loftus-Cheek - 5: Decision making and final ball sadly lacking with Chelsea crying out for some midfield creativity. EPA
Mason Mount 6: Strangely subdued performance from England attacker and little impact until 70th minute shot was blocked by Dawson. Curled shot just over bar minutes after Pulisic goal. Getty
Timo Werner - 6: German buzzed around without any cutting edge. Had one shot that looked goal-bound until blocked at start of second half but then should have done better with two other efforts – one hit into side-netting, one straight at goalkeeper on the stretch. EPA
Kai Havertz - 3: Forgot he was playing in first half when his contribution and impact was non-existent. Little improvement after break in what was really disappointing showing from German. EPA
SUBS: Hakim Ziyech – (On for Loftus-Cheek 75’) 6: Drilled shot wide as Chelsea substitutes provided much-needed spark. Getty
Romelu Lukaku – (On for Havertz 75’) 6: Hauled to ground by Dawson for late penalty only for Jorginho to fluff his lines. AFP
Christian Pulisic – (On for Werner 75’) 7: Grabbed unlikely winner minutes after Jorginho penalty miss. AFP
WEST HAM RATINGS: Lukasz Fabianski - 7: Enjoyed quiet afternoon in sunshine in first half as neither side managed shot on target. Finally called into action in second half with solid rather than spectacular stops. Easiest penalty save he’ll ever make from Jorginho’s powder-puff effort. No chance with goal. Reuters
Ben Johnson - 7: Hammers’ patched-up defence coped easily with the home attack until late in game when Chelsea pressure, combined with Dawson red card, meant Hammers were finally opened up. AFP
Craig Dawson - 6: Last centre-half standing for injury-hit Hammers. Brilliant flying challenge on Werner volley early just after break and another important block on Mount’s shot later in half. Had been immaculate until giving away late penalty for fouling Lukaku when he was then sent-off after VAR referral. AFP
Aaron Cresswell - 7: Great recovery challenge after slipping on edge of box in first half and no problems defensively, one good block after break on Kante strike. No sign of his trademark balls into opposition box. EPA
Vladimir Coufal - 5: Czech full-back played his part in West Ham’s resolute and well-organised defensive performance that probably deserved a point. AFP
Tomas Soucek - 5: No chance to show his aerial prowess in home penalty area and should have done better with weak shot that was easily blocked after 56 minutes. EPA
Mark Noble - 7: Only second start of season for club captain. Veteran was neat, tidy and held his own against Kante and Jorginho in middle of park here before being replaced just after hour mark. Getty
Arthur Masuaku - 7: Scored a freak late winner in the reverse fixture but no opportunity to repeat that here but impressive defensive work. AP
Said Benrahma - 7: Pressured West Ham defence well early on robbing both Azpilicueta and Chalobah of the ball. Good workrate but no sniff on goal for Algerian. Getty
Pablo Fornals - 6: One decent ball through to Yarmolenko in first half but Spaniard failed to make any major attacking impact. Getty
Andriy Yarmolenko - 6: Hooked shot across face of goal in first half when Benrahma looked better placed to take on chance. Denied by double Mendy save although would have been ruled out for offside even if he had found way past Senegalese keeper. PA
SUBS: Declan Rice – (On for Noble 62’) 5: Left on bench with Thursday’s Europa League semi-final in mind and couldn’t stop Pulisic scoring late winner. Getty
Jarrod Bowen – (On for Yarmolenko 73’) 5: No chance to make mark. Reuters