Fulham's relegation fears heightened after a 3-1 defeat at West Ham on Friday, but they will feel hard done by after Javier Hernandez's controversial equaliser proved decisive.
Ryan Babel was gifted the opportunity to break the deadlock with less than a minute on the clock, only to be denied by Lukasz Fabianski, but he made amends two minutes later, firing home from close range to score his first goal for Fulham since joining in January.
Then came a real moment of controversy, as Hernandez appeared to divert the ball in to equalise with his hand in the 19th minute, with the goal allowed to stand, much to Claudio Ranieri's frustration on the bench, before Issa Diop headed his first Premier League goal to turn the match on its head five minutes before half time.
Fulham mixed things up in the second half, but offered little as an attacking threat, with Michail Antonio heading home a third West Ham goal in stoppage time to make sure of their first win in six in all competitions, while Fulham's position looks even more perilous, eight points from safety, having shipped 60 league goals already and winless away from home in the Premier League this season.
West Ham: Fabianski (7), Zabaleta (6), Diop (8), Ogbonna (7), Cresswell (7), Noble (7), Rice (8), Antonio (7), Anderson (6), Snodgrass (6), Hernandez (6).
Subs: Arnautovic (7), Lanzini (7), Fredericks (6)
Fulham: Rico (4), Odoi (4), Sessegnon (5), Ream (5), Bryan (5), Nordveit (4), Chambers (5), Seri (4), Cairney (5), Babel (7), Mitrovic (7).
Subs: Markovic (5), Anguissa (4).
Man of the Match: Declan Rice
Fulham flew out of the traps, with Babel latching onto an underhit back pass from Pablo Zabaleta. Fabianski, though, stood firm to deny Babel, but could do nothing as the same man got on the end of a Ryan Sessegnon cross before slamming the ball home.
West Ham struggled to get going, but were gifted a way back into the contest. Sergio Rico firstly failed to deal with a corner, Angelo Ogbonna flicked the ball back towards goal, Hernandez leaned into the ball, but the last touch seemed to come off his hand.
Fulham's defensive frailties came to the fore once again in the 40th minute, as Diop was allowed to climb highest to head home from Robert Snodgrass' corner, meaning Fulham have now conceded more than once 21 times this season, including all of the last seven in 2019.
Just the one change for West Ham, with Pablo Zabaleta in for Ryan Fredericks. However, the big news was that after missing the entire season so far, Manuel Lanzini was fit enough to take his place on the West Ham bench. Three changes for Fulham, with Ryan Sessegnon, Tom Cairney and former Hammers midfielder Havard Nordtveit coming in. There was no place for Andre Schurrle in the squad.
Ranieri made two changes at the interval, introducing Lazar Markovic and Andre-Frank Zambo Anguissa, but neither could really have any real effect on the game, as West Ham stood firm.
Another substitute, Marko Arnautovic, came within a whisker of adding his name to the scoresheet, but was denied an equaliser by a combination of Rico and post.
However, Antonio's bullet header in the 91st minute, on the end of an Arnautovic cross, did put the seal on the three points for West Ham and compounded another miserable night for Fulham.
- Fulham's nine London derby defeats in a row is the longest ever such losing run in Football League history by any London side.
- West Ham have completed the league double over Fulham for the first time since the 2008-09 campaign, when they were managed by Gianfranco Zola.
- West Ham's victory means the Hammers have picked up 14 points from London derbies in the top-flight so far this season (P8 W4 D2 L2), only Spurs (15) and Arsenal (16) have managed more.
- Fulham boss Claudio Ranieri is now winless in his last 22 Premier League games away from home (15 for Leicester City, 7 for Fulham); the longest such run for a manager in the competition since Roy Hodgson back in October 2010 (also 22).
- Manuel Pellegrini has now won each of his four Premier League encounters against Fulham, only versus West Brom (6/6) does the Chilean have a better 100% winning ratio in the competition.
- Ryan Babel's strike for Fulham was his first Premier League goal since December 2010 (Liverpool v Aston Villa), 3000 days ago.
- West Ham striker Javier Hernandez has become the first Mexican player to score 50 Premier League goals; indeed, all 50 have been scored inside the box.
- Michail Antonio made his 100th Premier League appearance for West Ham in their match against Fulham; only Tottenham Hotspur (24) have now seen more Englishman make at least 100 apps in the competition than the Hammers (21).
- Fulham have become just the fourth side in the Premier League era to concede at least 60 goals after 27 matches of a single campaign; indeed, only Barnsley (63 in 1997-98) conceded more than Fulham's 61 so far this season.
Man of the match - Declan Rice
The stats don't lie. Declan Rice won six tackles at London Stadium, double that of anyone else on the pitch. No player made more interceptions, while he gained possession more than anyone else on the pitch, five more than any team-mate. No player made more interceptions, either. The young midfielder has decided to pledge his allegiances to England, and on this evidence, he could well become a regular starter, not just a squad member, very soon indeed.
West Ham face the daunting task of a trip to Manchester City on Wednesday, while Fulham travel to Southampton.