Wolves started the night second to last, while the Londoners were in 14th place, and the pressure and nerves were apparent in an edgy first half that was devoid of class and composure.
Mohammed Kudus and Konstantinos Mavropanos had half-chances for West Ham, while at the other end Joao Gomes shot over from a good position.
Things improved after the break, and West Ham took the lead in the 53rd minute from a corner kick. Wolves left Tomas Soucek unmarked at the back post and his looping header sailed into the far corner.
Matt Doherty equalised for Wolves in the 69th minute. However, just three minute later West Ham's talismanic captain Jarrod Bowen found time and space in the box to slot home with his left foot.
West Ham were without Michail Antonio, their ever-present striker who broke a leg in a car crash on Saturday, and Bowen held up Antonio's No. 9 shirt to celebrate his goal.
Both Tomas Soucek and Jarrod Bowen paid tribute to Michail Antonio after scoring their goals against Wolves ❤️— Premier League (@premierleague) #WHUWOL pic.twitter.com/9WxJJhtuIrDecember 9, 2024
The West Ham players took to the field in training tops with Antonio's name and number on them, and the home fans gave him a warm round of applause in the ninth minute.
The result left the Hammers in 14th spot, one point behind Manchester United.
It was the third defeat in a row for Wolves, who remain on nine points, equal with third-to-last Ipswich Town.