Raul Jimenez scored the only goal as Wolves ended West Ham's four-game winning run in the Premier League with a deserved victory at Molineux.
Jimenez swept Daniel Podence's low cut-back into the corner from the edge of the box to lift Bruno Lage's side up to sixth in the table.
Wolves dominated proceedings after a slow start and created numerous opportunities to take a first-half lead - the best of which fell to Jimenez, who dragged a tame effort wide with only West Ham goalkeeper Lukasz Fabianski to beat.
Kurt Zouma had the ball in the net for the Hammers, but the centre-back's header was disallowed for a foul on Romain Saiss.