Chelsea's grip on the Premier League title strengthened after West Ham battled to a shock 1-0 win over second-placed Tottenham.
Mauricio Pochettino's side headed into the match on a superb run of nine consecutive victories that had prevented Chelsea from turning their bid for glory into a procession.
But they were short of their best at the London Stadium and Manuel Lanzini's goal 20 minutes into the second period ensured Spurs would remain four points behind Chelsea, having played a game more.
Victory over lowly Middlesbrough at Stamford Bridge on Monday would put Antonio Conte's men seven points clear with three games remaining and Chelsea's seemingly favourable run-in comprises matches with West Brom, Watford and Sunderland.
Lanzini further enhanced his reputation as a London derby specialist, the Argentinian's strike standing as his ninth in 14 all-capital encounters, and Slaven Bilic's team are up to ninth in the table on 42 points – extinguishing their faintly lingering relegation fears.
9 - Manuel Lanzini now has nine goals in 14 appearances in London derbies in the . Capital. May 5, 2017
Kyle Walker was called back into the Tottenham line-up in place of Kieran Trippier and he was caught napping in the sixth minute, with Lanzini racing onto Andre Ayew's raking ball into the space behind the England right-back to drag a shot wide.
West Ham were in down Walker's flank again five minutes later and Victor Wanyama raced back to make an excellent clearing header as Sam Byram waited to convert.
Walker was then booked for a robust follow through on Lanzini as Spurs looked to launch a counter-attack, with Mark Noble clattering into Eric Dier shortly afterwards to even up that aspect of a feisty start.
Adrian shovelled a Harry Kane drive back into his area, with Son Heung-min's follow-up blocked before the West Ham goalkeeper atoned for his mistake by brilliantly denying Kane with his boot.
Spurs keeper Hugo Lloris charged out of his area to challenge Lanzini in the 27th minute and was relieved to see Cheikhou Kouyate's lobbed follow-up squirt behind.
Christian Eriksen drilled narrowly wide from outside the area but Tottenham were still searching for the breakthrough when the interval arrived.
Ayew lashed over from 18 yards seven minutes into the second half and Spurs appeared increasingly edgy as the hour approached – Eriksen's tame sidefoot at Adrian lacking conviction when promisingly placed.
Son took advantage of Walker's run down the outside to open up room by lashing towards the bottom-left corner from the edge of the box, giving Adrian a more taxing workout.
But Tottenham's title hopes were in tatters after 65 minutes as West Ham opened the scoring.
| The moment put the Hammers ahead with his rd goal in games against Tottenham[1-0] May 5, 2017
Aaron Cresswell shovelled a cross in from the left at the second attempt and, after Jonathan Calleri and Ayew had attempts blocked, Lanzini was on hand to lash in from six yards.
Pochettino sent on Mousa Dembele and Vincent Janssen in an attempt to rouse his side but they remained scrambled.
Toby Alderweireld played himself into trouble inside his own area and it needed an excellent save from Lloris to thwart Calleri.
Eriksen lashed over but Tottenham were running on empty, with West Ham substitute Ashley Fletcher going agonisingly close to number two just before a final whistle that will have prompted significant celebrations in west London.
Get the best features, fun and footballing frolics straight to your inbox every week.