West Ham got their first Premier League win since September as a second-half Aaron Cresswell strike was enough to beat a sub-par Chelsea side 1-0.
The Blues dominated the opening stages; with Pedro, Mason Mount and Christian Pulisic wasting good opportunities for the home side. But, as it looked like it was going to be another bleak afternoon for Manuel Pellegrini's men, they showed signs of life with Michail Antonio spurning two golden chances from fantastic Aaron Cresswell and Robert Snodgrass crosses in the first half.
The home side faded after an impressive start, as the Hammers started to get a foothold on proceedings.
West Ham were quickly rewarded for weathering the early storm almost immediately after the break, as an overlapping Cresswell cut inside Reece James on the left before finishing expertly past Kepa with his weaker right foot.
The goal failed to reinvigorate the home side as West Ham started to look the more threatening - even having an Antonio goal chalked off because off handball after some brilliant work down the right by Snodgrass.
Even that couldn't rejuvenate a stale Chelsea performance, as a resolute West Ham backline shut out the home side - who failed to create anything in the latter stages.
Here's 90mins breakdown of this one.
Key Talking Point
The home side looked bright early on, with Frank Lampard using a similar ploy to what Spurs did against West Ham last weekend. He utilised Pulisic and Pedro as inside forwards to allow full-backs James and Emerson greater freedom down the flanks.
It was certainly effective to start proceedings, as the two inside forwards constantly drew West Ham's full-backs infield, which allowed Emerson, but especially James, to put in some wonderful balls into the box.
However, after the 20-minute mark, Chelsea were very poor. They lacked ideas in the final third and were void of any creativity in midfield. After they went a goal down, they never looked like getting back into it and it was the away side who always looked the more threatening.
It was certainly a worrying display for Lampard, with his side now losing two on the bounce. One thing's for sure though, the Chelsea boss will be desperate for Tammy Abraham to be back fit as soon as possible after Olivier Giroud's showing this afternoon.
Starting XI: Kepa (6); James (8*), Zouma (7), Tomori (6), Emerson (6); Jorginho (5), Kovacic (5); Pedro (5), Mount (5), Pulisic (7); Giroud (4).
Subs: Willian (5), Kante (6), Hudson-Odoi (6).
Come on Chelsea, you've got to start sharing the youth talent around because, in Reece James, you've got another gem on your hands.
Chelsea HT Thoughts:— Alex Goldberg (@AlexGoldberg_) November 30, 2019
• Reece James, best on the pitch
• Good start, became stale, though
• Nice movements, but passes just off
• Pedro not bad, but need more
• Hudson-Odoi, please
Reece James is actually really good ngl. Extremely underrated.— RiZzy (@RiZzyUTD) November 30, 2019
Reece James is so, so, so, good.— Dami (@TheChelseaWay) November 30, 2019
The 19-year-old dominated his right flank; he was brilliant in the air, cool in possession and lethal in the final third.
He has a crossing ability that looks eerily similar to that of Trent Alexander-Arnold, with Chelsea's forwards failing to make the most out of some fantastic deliveries from the right-back.
On what was a disappointing afternoon for the Blues, James can hold his head high after that display.
Key Talking Point
Well, well, well, could that performance be a turning point in West Ham's season?
Pellegrini, who was like a dictator from his dugout, will be immensely proud with his side's effort this afternoon. The Hammers were superb defensively, not giving the Blues' attack an inch after the opening 20 minutes - starting keeper, David Martin, was barely tested but looked confident throughout.
They were a completely different West Ham side this afternoon, a side who wanted to fight for their manager - they were intense, hungry and looked dangerous when they went forward.
Overall, a superb showing and a result that will ease the pressure on the Chilean for the time being.
Starting XI: Martin (8); Fredericks (7), Ogbonna (8), Balbuena (8), Cresswell (6); Snodgrass (5), Rice (9), Noble (6), Fornals (6); Anderson (5), Antonio (6).
Subs: Yarmalenko (6), Haller (5), Masuaku (N/A).
This could have gone to either of West Ham's centre-halves, who were both immense, but Declan Rice's display just about pips them.
The defensive midfielder, who impressed in the Spurs defeat, did an excellent job at shunning any Chelsea attack through the centre, therefore providing the West Ham backline with significant protection.
His tremendous reading of the game was on full display as he constantly snuffed out any passes into Chelsea's front men while being a driving force for the visitors when they tried to counter.
It's a quick turnaround for both sides as the Premier League hosts its first round of midweek fixtures this season.
Chelsea are back in action at Stamford Bridge against Aston Villa on Wednesday before visiting Everton in the Saturday lunchtime kick-off next weekend. West Ham, meanwhile, travel to Wolves on Wednesday night before hosting Freddie Ljungberg's Arsenal on Monday night football - with a new manager potentially in the home dugout as well for that one.