From Brentford Community Stadium - West Ham's hopes of a top-four finish were dealt a serious blow after they were beaten 2-0 by Brentford.
Second-half strikes from Bryan Mbeumo and Ivan Toney handed the Bees their fourth win in five Premier League games to climb to 13th in the table, while the Hammers missed the chance to rise to fifth.
An even opening period finally yielded a shot on goal after 15 minutes when Mbeumo's header from a Rico Henry cross was easily held by Lukasz Fabianski, before the Frenchman forced him into a tougher save soon after with a near-post strike.
Tomas Soucek couldn't get any power behind a free header at the other end, while Mbeumo scuffed two further sights at goal.
Christian Eriksen had two meek efforts denied before a tight first-half ended with Aaron Cresswell firing wide from a West Ham corner.
Brentford took the lead just after the restart when Mbeumo finally notched them ahead. Kristoffer Ajer's throw was flicked perfectly by Toney into the path of the Bees' number 19, who beat Fabianski at his near post.
The hosts doubled their lead with another well-worked move just after the hour mark. Henry's bursting run forward ended with a chipped cross over to Mbeumo, who headed it perfectly back through the six-yard box for Toney to nod past Fabianski.
Mbeumo should have added another when he somehow skied Vitaly Janelt's cross, while a Declan Rice header sailed narrowly past David Raya's post.
Brentford didn't have to work too hard to hold on and grind out the win from there on in. Here are your player ratings from west London...
Brentford player ratings
1. Goalkeeper & defenders
David Raya (GK) - 6/10 - Little to do in way of saves but was always handy on the ball.
Kristoffer Ajer (RB) - 7/10 - Probably the first time the centre-back has looked a natural out of position.
Zanka (CB) - 6/10 - His experience came in handy in skipper Pontus Jansson's absence.
Ethan Pinnock (CB) - 8/10 - Had a long afternoon trying to contain Jamaica teammate Antonio but did a pretty good job.
Rico Henry (LB) - 8/10 - Found it hard coping with Coufal's physicality but at least kept Bowen quiet and was pivotal to the second goal.
Christian Norgaard (DM) - 8/10 - Kept Soucek particularly under wraps but was also pivotal to ensuring Rice couldn't fully assert his dominance.
Christian Eriksen (CM) - 8/10 - Every time he was on the ball you expected him to produce some magic and he often did. Won possession leading up to Brentford's second.
Vitaly Janelt (CM) - 7/10 - Hustled and bustled his way through midfield and into the West Ham box.
Bryan Mbeumo (RW) - 8/10 - Almost every clip of this game on Match of the Day 2 tonight will involve Mbeumo, who was wasteful but busy and ultimately helped turn the tide in the Bees' favour.
Ivan Toney (CF) - 8/10 - Now level with Harry Kane for the Englishman with the most Premier League goals this season and extends his lead as the leading scorer outside the big six.
Yoane Wissa (LW) - 5/10 - Didn't seem totally comfortable after colliding with Dawson in the opening few minutes.
Mathias Jensen (69', CM for Janelt) - 5/10
Sergi Canos (77', RW for Mbeumo) - 5/10
Mads Roerslev (82', RB for Ajer) - N/A
West Ham United player ratings
5. Goalkeeper & defenders
Lukasz Fabianski (GK) - 4/10 - Not at fault for the goals per se but was hardly a menacing presence.
Vladimir Coufal (RB) - 5/10 - Gave Henry some problems but not enough of them.
Craig Dawson (CB) - 3/10 - Looked worse for wear as the game went on after his collision with Wissa.
Kurt Zouma (CB) - 5/10 - Hauled off after half hour with a knock. Taunted by Brentford fans from the off.
Aaron Cresswell (LB) - 2/10 - Brentford exploited the space in behind Cresswell on several occasions. Given the runaround by Mbeumo.
Tomas Soucek (CM) - 4/10 - Offered little support in midfield, or either end of the pitch for that matter.
Declan Rice (CM) - 6/10 - Tried his best to keep West Ham's disjointed midfield together.
Manuel Lanzini (AM) - 3/10 - Anonymous throughout and hooked for Benrahma.
Jarrod Bowen (RW) - 3/10 - Did absolutely nothing of note out wide or when shifted up front.
Michail Antonio (CF) - 4/10 - Couldn't get the better of Pinnock and was subbed after the hour.
Pablo Fornals (LW) - 5/10 - Produced some neat moments but not enough to threaten Brentford.
Issa Diop (28', CB for Zouma) - 3/10 - Failed to fill Zouma's big shoes.
Said Benrahma (58', AM for Lanzini) - 4/10
Nikola Vlasic (65', RW for Antonio) - 3/10