Wolves' substitutions changed the game as they earned a 2-0 win at relegation-threatened West Ham thanks to goals from Raul Jimenez and Pedro Neto.
Pablo Fornals blazed over from a good position early on in the game's only chance until 17 minutes from time, when sub Adama Traore expertly crossed for Jimenez to head in at the far post.
Wolves' second was even better, as Matt Doherty's deep cross was thrashed home by Neto, another late sub, on the volley from 15 yards out.
The result has lifted Wolves above Sheffield United and up to sixth, while West Ham remain out of the relegation zone of goal difference ahead of 18th-placed Bournemouth.
West Ham: Fabianski (6), Ngakia (5), Diop (6), Cresswell (6), Soucek (6), Noble (6), Rice (7), Fornals (5), Bowen (6), Antonio (5), Anderson (5)
Subs: Lanzini (5), Yarmolenko (NA), Fredericks (NA)
Wolves: Rui Patricio (7), Doherty (7), Boly (7), Coady (7), Saiss (6), Jonny (6), Dendoncker (6), Moutinho (6), Neves (7), Jota (6), Jimenez (7)
Subs: Neto (7), Traore (8), Vinagre (NA), Gibbs-White (NA)
Man of the match: Adama Traore
How subs changed tepid game for Wolves
Both sides went into the game with different ambitions, West Ham to survive and Wolves to sneak into the upper echelons of the Premier League and a potential Champions League spot.
Though Wolves dominated the ball in the first half and had eight shots to West Ham's two, the Hammers had by far the best opportunity. A simple Mark Noble lofted ball over the Wolves defence found Fornals through on goal at a slight angle, with the ball bouncing, but the Spaniard thrashed at it and sliced well over Rui Patricio's bar from 10 yards.
That was as good as it got in a tepid first half, and the second half followed the same pattern as both sides struggled to get in-behind, until the introduction of Traore on 64 minutes.
Just nine minutes after, Traore got by Cresswell on the right with ease, before delivering a beauty from the byline, taking Lukasz Fabianski out of the game and finding Jimenez back stick to simply nod home.
West Ham were sparked into action as Declan Rice forced Patricio into a save from a corner, before Michail Antonio blazed over from distance following a good run, but it was soon 2-0 and game over thanks to another Wolves sub.
- West Ham made two changes from the side that lost to Arsenal in March; Soucek and Anderson came in, replacing Haller and Ogbonna. There was no place for either on the bench.
- For Wolves, Adama Traore was on the bench, while Jonny replaced Vinagre in the only change from the 0-0 draw against Brighton in March.
Latching onto Doherty's cross from the right, Neto met a sweet volley into the roof of the net from the left of the box, giving Fabianski no chance.
In a game that struggled to get going, Nuno's expert late subs capitalised on a tiring Hammers, and Wolves' quality told. For West Ham, it's one win in 10 Premier League games, and another relegation dogfight to come.
What the managers said...
West Ham boss David Moyes told Sky Sports: "I thought up until they brought on Traore we defended quite well, limiting them to not too many opportunities. I thought we were plugging away, hanging in there, but the difference was when Traore came on.
"We felt we were doing OK, keeping at it, and hoping something would come for us. What we got was a strong and powerful winger coming on and making the difference.
"We want to make more chances, they made it hard for us today, but for long periods we did OK. We've got touch games, but also some games which might suit us."
Wolves boss Nuno Espirito Santo told Sky Sports: "We performed well, we played good. We were very organised and controlled the game. We didn't create many final actions, but we produced a lot of situations.
"In the second half, we had some speed, some more accuracy in delivery, so we did well. We needed this to feel we are really back again; it's too bad, the fans should be here, but it's different for us and everybody. It's good to have football back, let's try to produce good games so the people watching enjoy.
"The players will never get used to it, let's hope and pray something comes along like a vaccine so we can play in front of fans again."
- Wolves have registered consecutive away league wins at West Ham for the first time ever.
- Wolves manager Nuno Espirito Santo has won all four of his meetings with West Ham as a manager, his best 100 per cent record against an opponent in league competition.
- West Ham have won just one of their last 10 Premier League games (D2 L7).
- Wolves are unbeaten in their last 10 Premier League matches in London (W5 D5); among non-London sides, only Manchester United (twice, 13 in Dec 2013 and 11 in Sep 2003) have ever had a longer such run in the capital.
- Wolves duo Raul Jimenez and Adama Traore have combined for nine Premier League goals this season (6 assists from Traore, 3 from Jimenez).
Live Premier League
West Ham now go to London rivals Tottenham on Tuesday at 8.15pm, live on Sky Sports Main Event and Sky Sports Premier League, while Wolves host Bournemouth on Wednesday at 6pm.