Edouard Mendy
Beyond a couple of routine claims from West Ham free-kicks, Mendy was a bystander in the opening period. It was a similar story in the second half for the Senegal international, but he was forced into a good low stop when Andriy Yarmolenko broke into the area and got a shot away. 6
Trevoh Chalobah
Brought back into the starting XI for the first time in over a month, Chalobah needed to produce an assured display. And barring one error in the opening period that saw Pablo Fornals nick the ball off the defender, that is what the academy graduate produced. He even came close to finding the back with a powerful drive as Chelsea searched for an opener. 7
Thiago Silva
In a dour first half, Silva was Chelsea's best performer. Although that admittedly didn't require much. The Brazilian defended well and attempted to progress the ball forward. After the break, it was the 37-year-old who continued to speed up the Blues' attacks, and one surge forward enabled Silva to get a shot in on goal. Unfortunately, his effort struck Timo Werner. It was Silva's header that enabled Romelu Lukaku to win Chelsea's late penalty, which was missed by Jorginho. 7
Cesar Azpilicueta
Moved over to the left of the back three with Antonio Rudiger ruled out, Andreas Christensen ill, and Malang Sarr not trusted, Chelsea's club captain was caught on the ball in the early exchanges and was fortunate that West Ham didn't make the most of the resultant break. Azpilicuta defended well – for the most part – but his limitations in possession were clear throughout the 90 minutes. 6
Ruben Loftus-Cheek
The academy graduate was moved over to right wing-back with Reece James out injured and started the game promisingly with a couple of nice moments in possession. But Loftus-Cheek was never able to have a real influence on the game, although he did get the crowd engaged in the second period after winning two duels in quick succession. The 26-year-old was replaced with 15 minutes to play. 7
N'Golo Kante
The Frenchman kept his place in the midfield after the defeat to Arsenal, and while he won a couple of challenges in the opening half, Kante was largely on the periphery of the contest. The 31-year-old tried to inject some pace into Chelsea's attacks in the second period, and one drive forward resulted in a shot being well held by Lukasz Fabianski. 6
Jorginho
Chelsea dominated possession in the opening period, and Jorginho had plenty of touches of the ball, but the Italian wasn't able to have an impact on the contest as the Blues looked sluggish and devoid of ideas in midfield and attack.
Jorginho did improve marginally in the second period as Tuchel's side began to sustain possession a little more in the final third and was then handed the opportunity to win the game from the penalty spot. Unfortunately for Chelsea, his effort was woeful and easily saved by Lukasz Fabianski. 4
Marcos Alonso
The Spaniard continued at left wing-back, no surprise given there is no natural alternative with Ben Chilwell ruled out, yet offered very little threat in the final third. Alonso wasn't called into action defensively on too many occasions as Chelsea controlled much of the possession and fashioned Christian Pulisic's late winner. 6
Mason Mount
The England international came into the game in good form but lacked a little of his usual energy, as was the case of the majority of his teammates. Mount did have a couple of attempts on goal; one in the second half from the edge of the penalty area was whipped narrowly over the crossbar, and he repeated the trick late on as Chelsea searched for a second goal. 6
Timo Werner
The German forward was Chelsea's brightest attacking player in the first half; there was at least some drive to Werner's game, if not an end product. In the second period, Werner came close to opening the scoring with an effort that hit the side netting, and he was then denied by Fabianski from close range. 6
Kai Havertz
After Romelu Lukaku's ineffective performance in midweek against Arsenal, Havertz was unsurprisingly brought back into the Chelsea attack. Yet he had as little impact in this contest as the Belgian had in midweek, albeit he was used for much of the contest out on the right flank. The German was brought off with 15 minutes to play for Lukaku. 5
Substitutes
Christian Pulisic (for Timo Werner, 75)
Introduced as Chelsea searched for a goal to break the deadlock, Pulisic delivered in the dying minutes as he guided a cross from Alonso into the corner. It was a big moment for the American star. 8
Hakim Ziyech (for Ruben Lofuts-Cheeek, 75)
Thrown on as part of a triple change, Ziyech was the only Chelsea substitute to not have a standout moment. 6
Romelu Lukaku (for Kai Havertz, 75)
The Belgian needed a big moment after his midweek display, and Lukaku won the penalty, which Jorginho ultimately missed. He had an impact after coming on. 7