Leeds United's Premier League status is hanging by a thread as Europa Conference League finalists West Ham United's came from behind to secure victory at London Stadium.
For the second week running Leeds were unable to hold on to a first-half lead and this time they did not even pick up a point following late goals from Jarrod Bowen and Manuel Lanzini.
An injury to striker Patrick Bamford, which must make him a doubt for Leeds' final game against Tottenham Hotspur at Elland Road next weekend, was further disappointment for Sam Allardyce.
Leeds must beat Spurs and hope Everton do not defeat Bournemouth at Goodison Park or Leicester City collect four points from their final two games in order to stay up.
Judging by the resigned expressions on the faces of the Leeds fans who remained in the stadium until the final whistle, it is not something they think is likely.
It had looked so much more promising earlier in the game when Rodrigo lashed home a volley from Winston McKennie's long throw.
Allardyce believes clean sheets are the key to survival but one in this game proved beyond Leeds as Declan Rice produced a 31st-minute equaliser.
Bowen then finished off a flowing move to put West Ham - whose own top-flight future was confirmed 24 hours earlier - in front before Lanzini profited from Lucas Paqueta's inspired run along the goal line in added time.
Leeds flop when it mattered most
Allardyce's typical responses to his side's shortcomings - a furious rant at Pascal Struijk for not charging forward at a second-half corner and chewing gum thrown to the ground in frustration at another attack that floundered in its infancy - made it obvious what he thought about the situation.
At the start of the game when West Ham - showing six changes to the team that started against AZ Alkmaar - looked lethargic and again in the middle when they went back into their shell, Leeds lacked the guile to open up David Moyes' side.
When the hosts did rouse themselves, Leeds lacked the ability to keep them out.
The final score could have been even worse but Pablo Fornals and Rice passed up clear opportunities to score.
Last season at Brentford they managed to save themselves despite starting the last day in the bottom three. This time - having sacked two managers in Jesse Marsch and Javi Gracia as well as football director Victor Orta in search of an escape - the chances of a successful outcome look more remote.
Rice will be tough to replace
In all likelihood this was Rice's last West Ham appearance at London Stadium.
But even if he does move in the summer, he has one big assignment left as a Hammer in Prague next month.
However, as personal sign-offs go, his latest Hammers goal was a good one.
He proudly carried his baby son out as his personal mascot before the game and after it started, he marked the day with an excellent volleyed finish to a superb move.
Pablo Fornals helped create it with a delicate lofted pass to send Bowen running towards the goal line and the England forward lifted his cross to the far post where an unmarked Rice sent it bouncing into the net.
Rice's celebration ended with him on his knees by the corner flag as he was mobbed by his team-mates.
Quite how West Ham intend to replace Rice, if indeed he leaves, is a summer conundrum that will not be easily solved.
That problem is for another day. Rice's immediate task is to emulate Bobby Moore and Billy Bonds by becoming a West Ham captain to lift a major trophy.
Player of the match
RiceDeclan Rice
West Ham United
Squad number41Player nameRice
Squad number11Player nameLucas Paquetá
Squad number20Player nameBowen
Squad number10Player nameLanzini
Squad number8Player nameFornals
Squad number72Player nameMubama
Squad number24Player nameKehrer
Squad number18Player nameIngs
Squad number28Player nameSoucek
Squad number1Player nameFabianski
Squad number33Player nameEmerson
Squad number2Player nameJohnson
Squad number5Player nameCoufal
Squad number21Player nameOgbonna
Squad number4Player nameZouma
Leeds United
Squad number19Player nameRodrigo
Squad number22Player nameRobles
Squad number25Player nameKristensen
Squad number11Player nameHarrison
Squad number28Player nameMcKennie
Squad number5Player nameKoch
Squad number39Player nameWöber
Squad number21Player nameStruijk
Squad number29Player nameGnonto
Squad number4Player nameForshaw
Squad number2Player nameAyling
Squad number9Player nameBamford
Squad number10Player nameSummerville
Squad number7Player nameAaronson
Squad number8Player nameRoca
Squad number42Player nameGreenwood
Line-ups
West Ham
Formation 4-2-3-1
1Fabianski
5Coufal4Zouma21Ogbonna33Emerson
28Soucek41Rice
20Bowen11Lucas Paquetá8Fornals
18Ings
1Fabianski5Coufal4ZoumaSubstituted forKehrerat 45'minutes21Ogbonna33Emerson28Soucek41Rice20BowenSubstituted forLanziniat 84'minutes11Lucas PaquetáBooked at 65mins8FornalsSubstituted forJohnsonat 90+3'minutes18IngsSubstituted forMubamaat 90+4'minutesSubstitutes
2Johnson3Cresswell9Antonio10Lanzini13Aréola14Cornet22Benrahma24Kehrer72MubamaLeeds
Formation 4-3-3
22Robles
2Ayling25Kristensen39Wöber21Struijk
28McKennie5Koch4Forshaw
19Rodrigo9Bamford11Harrison
22Robles2Ayling25Kristensen39Wöber21StruijkSubstituted forGreenwoodat 84'minutes28McKennieSubstituted forRocaat 84'minutes5KochBooked at 88mins4ForshawSubstituted forAaronsonat 62'minutes19RodrigoBooked at 82mins9BamfordSubstituted forGnontoat 34'minutes11HarrisonSubstituted forSummervilleat 62'minutesBooked at 80minsSubstitutes
1Meslier6Cooper7Aaronson8Roca10Summerville24Rutter29Gnonto42Greenwood62Chilokoa-MullenLive Text
Match ends, West Ham United 3, Leeds United 1.
Second Half ends, West Ham United 3, Leeds United 1.
Attempt missed. Crysencio Summerville (Leeds United) right footed shot from outside the box is too high following a set piece situation.
Foul by Vladimír Coufal (West Ham United).
Crysencio Summerville (Leeds United) wins a free kick in the attacking half.
Attempt saved. Lucas Paquetá (West Ham United) left footed shot from the centre of the box is saved in the bottom right corner. Assisted by Manuel Lanzini.
Goal! West Ham United 3, Leeds United 1. Manuel Lanzini (West Ham United) left footed shot from the centre of the box to the centre of the goal. Assisted by Lucas Paquetá.
Substitution, West Ham United. Divin Mubama replaces Danny Ings.
Substitution, West Ham United. Ben Johnson replaces Pablo Fornals.
Corner, West Ham United. Conceded by Maximilian Wöber.
Corner, Leeds United. Conceded by Angelo Ogbonna.
Attempt blocked. Crysencio Summerville (Leeds United) left footed shot from the left side of the box is blocked. Assisted by Robin Koch.
Corner, Leeds United. Conceded by Tomás Soucek.
Foul by Tomás Soucek (West Ham United).
Sam Greenwood (Leeds United) wins a free kick in the defensive half.
Robin Koch (Leeds United) is shown the yellow card for a bad foul.
Vladimír Coufal (West Ham United) wins a free kick in the defensive half.
Foul by Robin Koch (Leeds United).
Corner, Leeds United. Conceded by Angelo Ogbonna.
Attempt blocked. Rodrigo (Leeds United) left footed shot from the left side of the box is blocked. Assisted by Wilfried Gnonto.
Our coverage of your Premier League club is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment