A frustrating afternoon at Stamford Bridge ended in defeat for Frank Lampard and Chelsea as we failed to find a way past a resolute West Ham United defence despite dominating the match.

Our best chances arrived in the first 20 minutes of the game, with Christian Pulisic and Pedro both going close as it looked like the game would be a case of attack against defence.

However, stand-in West Ham keeper David Martin repeatedly denied us, resulting in him being mobbed by his team-mates at the final whistle, and the game was decided by a solitary goal from Hammers left-back Aaron Cresswell against the run of play right at the start of the second half.

Frank Lampard opted to rotate his line-up following our midweek exertions in Valencia. The majority of the back four and goalkeeper Kepa Arrizabalaga remained the same, but with Emerson coming in for Cesar Azpilicueta at left-back, alongside Fikayo Tomori, Kurt Zouma and Reece James.

Mason Mount came in for N’Golo Kante to play with Jorginho and Mateo Kovacic in a midfield three with a more attacking look, while further forward Olivier Giroud replaced Tammy Abraham after the latter picked up a hip injury in Spain. Pedro came in for Willian as one of the two wide players, Christian Pulisic keeping his place on the other wing.

West Ham boss Manuel Pellegrini also chose to shuffle his pack as the Hammers looked for a return to form. The most noteworthy change saw goalkeeper Roberto replaced by David Martin, a man who didn’t have fond memories of facing the Blues after being between the posts for MK Dons when we defeated them 5-1 in the FA Cup in 2016.

With Issa Diop suspended, Fabian Balbuena lined up alongside Angelo Ogbonna in their defence, and Michail Antonio replaced summer signing Sebastien Haller as the lone striker after returning from injury.

We were now enjoying the vast majority of possession and putting the West Ham defence under real pressure, but were unable to find the space needed for a clear sight of goal.

However, the breakthrough nearly arrived via a big slice of luck, as Cresswell deflected James’ cross from the right against West Ham’s near post. Zouma wasn’t much further away from the resulting corner, as his header across goal from Emerson’s delivery was only a whisker away. Kepa had to stay alert at the other end though, having to produce an excellent reaction save to keep out Antonio’s diving header after a quick counter by West Ham down the right ended with a dangerous cross from Ryan Fredericks.

We continued to dominate the ball, but struggled to control the tempo, and it looked like our best chance to get the opening goal might come from a set piece, as our pressure resulted in a succession of corners. However, there was another lengthy break in play for West Ham treatment, this time Ogbonna the man down injured.

West Ham came into the game a little more in the last 10 minutes of the first half, but it was still Chelsea who looked by far the more comfortable as half-time approached, even if that elusive sight of goal we needed to take the lead failed to materialise against the well-organised and compact West Ham defensive ranks, with the Hammers looking more than happy to go in goalless at the break.

There was still a couple of opportunities to deny the visitors that satisfaction though. First Kovacic fired in a low shot from an almost identical position as his goal against Valencia, but this time couldn’t generate enough power, and Giroud was flagged offside as he tried to turn in the rebound from Martin’s save.

Then James put in a dangerous-looking cross from deep on the right which looked destined to be turned into the net, until Ogbonna got a faint but crucial touch on the ball to take it away from the waiting Giroud, and out of Pulisic's path at the back post, forcing the American to take on the volley at an awkward height, preventing him getting over the ball.

However, surprisingly it was West Ham who opened the scoring just two minutes after the break, in their first attack of the second half. Felipe Anderson and Pablo Fornals combined quickly to release Cresswell into space on the left, and the full-back cut inside past James to make space to curl a low shot into the far bottom corner with his right foot.

Despite having every reason to feel aggrieved at going behind after dominating possession throughout the first half, Chelsea weren’t rattled by the goal and soon settled back on top of the game, continuing the pursuit of a way through the West Ham defence. It nearly arrived when Pulisic was released into the box by Mount, but Fredericks just managed to produce a last-ditch sliding challenge to put the ball out for a corner, and Zouma couldn’t get his header on target from the resulting set-piece.

It was successive West Ham corners which nearly produced the next goal, as first Kepa had to show great reactions to keep out Balbuena’s header, before the Spaniard needed to be brave to smother the loose ball as Antonio was poised to pounce inside the six-yard box.

In an effort to change the game, Lampard made a double substitution with a little under half-an-hour remaining, as N’Golo Kante and Willian replaced Jorginho and Pedro, the Brazilian taking the captain’s armband in the process.

We escaped a scare shortly afterwards, as following a shortly taken West Ham corner, Antonio appeared to get the better of Zouma at the back post to bundle the ball over the line for the Hammers’ second goal. However, after the VAR examined the replays amid protests from Kepa, the goal was ruled out when it was shown Antonio handled the ball to direct it goalwards.

That prompted Lampard into more action, though, as he used his final change to bring on Callum Hudson-Odoi for Giroud, with Pulisic moving into a central position to take the striker’s role.

As the game entered the last 15 minutes, West Ham were sitting deeper and deeper, hoping to soak up the continuing Chelsea pressure and hold on to their unlikely lead until the final whistle. Despite our near continuous possession of the ball, the massed ranks of defenders in claret and blue were still proving impossible to find a way past, though.

Willian was beginning to find a lot of space out on the right, with his dangerous crosses looking increasingly like our best chance of a goal. It briefly looked like Kante would be presented with an excellent chance after a loose ball broke kindly, but he was flagged offside, and then James couldn’t keep his powerful shot from range down.

As the clock ticked over into the last five minutes, the Blues were pouring forward in pursuit of an equaliser, but the ball just wouldn’t fall our way in the box, with a succession of crosses blocked by West Ham defenders and Mount unable to make the contact he wanted with a loose ball bouncing on the edge of the box.

With just over a minute of normal time left, Pulisic was fed by Kante inside the box in the right channel, but he fired his half volley wide of the near post. That action was quickly followed by a big cheer from the home fans when the fourth official’s board went up showing there would be five minutes of added time, which was added to almost immediately when Hammers keeper Martin went down injured.

Every Chelsea player except Kepa was in the opposition penalty area when the next corner came in, but still the wall of West Ham defenders held strong. There was one last chance from a free-kick on the right in the last minute of added time, but Zouma couldn’t quite beat Ogbonna to the ball and before long the referee blew the final whistle on a frustrating afternoon for Lampard and his players, as we failed to find the goals we needed and ended up on the losing side of a match we arguably deserved all three points from on the balance of play.

Missed out on tickets for today’s game? Gain access to Premier League tickets by buying one of our Membership packages.

Chelsea (4-2-3-1) Kepa; James, Zouma, Tomori, Emerson; Jorginho (c) (Kante 63), Kovacic; Pedro (Willian 63), Mount, Pulisic; Giroud (Hudson-Odoi 70)Unused subs Caballero, Christensen, Batshuayi, Azpilicueta

West Ham United (4-2-3-1) Martin; Fredericks, Balbuena, Ogbonna, Cresswell; Rice, Noble (c); Snodgrass, Felipe Anderson (Yarmolenko 70), Fornals (Masuaku 83); Antonio (Haller 76)Unused subs Roberto, Zabaleta, Sanchez, AjetiScorer Cresswell 48Booked Fornals 64,Yarmolenko 87, Cresswell 90+5

Referee Jonathan MossCrowd 40,595