The visitors made a good start and had some early sights of goal but a team struggling for goals continued that trend.
West Ham took the lead through Gianluca Scamacca, who notched his first Premier League goal with a superb strike from the edge of the box.
Wolves fell back into old habits and never came close to laying a glove on West Ham, and Jarrod Bowen’s strike early in the second half killed off their hopes.
They did create some half-chances in the second 45, but nowhere near enough to warrant a comeback, as Wolves fell to their fourth Premier League defeat in eight games.
Lage made just one change to his Wolves side and changed to a 5-2-3 formation for the first time this season.
Nelson Semedo came in for Nathan Collins, who was serving the first of his three-match suspension following his red card against Manchester City.
As a result, Lage made a brave decision in playing Ruben Neves central of the three centre-backs, with Max Kilman and Jonny Castro Otto either side of him, leaving Toti Gomes and Yerson Mosquera on the bench.
David Moyes made three changes to his struggling West Ham side, who lined-up in a 4-2-3-1 formation.
Craig Dawson, who Wolves tried to sign on deadline day before West Ham pulled the plug on the deal, came in at centre-back, as Thilo Kehrer moved to right-back. Forwards Maxwel Cornet and Scamacca also came in.
Vladimir Coufal, Pablo Fornals and Michail Antonio all dropped to the bench.
As the game got underway, Wolves were playing a fluid system between a four, and a five-at-the-back formation. Semedo was given more licence to get forward, as Goncalo Guedes came closer to Daniel Podence and played more central when needed, but Semedo then dropped into a defensive shape when necessary.
And in this experimental line-up Wolves got off to a good start. Podence forced Lukasz Fabianski into a save early on, before Matheus Nunes skipped into the box and saw an effort flash wide. Shortly after, Jonny also had an effort saved.
The hosts began to build some momentum going forward and almost scored after a calamitous Jose Sa error. The goalkeeper spilled a Bowen shot and Scamacca diverted the follow-up wide from a couple yards. Jonny did well to put the Italian striker off.
At the other end, a Guedes cross flashed across the face of goal and the outstretching Jonny almost reached it.
Wolves were playing on the edge. Neves and Joao Moutinho both picked up bookings within the opening 22 minutes. Neves’ yellow card was his fifth so far in the Premier League, meaning he will miss the trip to Chelsea next week.
Then, after 24 minutes, a Wolves squad already riddled with injuries was handed another blow. Neto was forced off, with what looked like an ankle injury, and was replaced by Adama Traore – who only just returned from an adductor injury of his own. Neto did try and play on initially after the injury but ultimately hobbled off, as Wolves played several minutes with 10 men as he received treatment, in what proved a fruitless task.
Adama almost made an instinct impact when he reached the byline on the left and clipped in a cross that Semedo almost met.
However, after 30 minutes West Ham took the lead. Bowen was awarded too much space on the right but Nunes made a good recovery tackle. The midfielder, and Kilman, both snatched at the ball in their clearance and it landed to Scamacca on the edge of the box, who smashed it into the top corner.
Wolves had another scare when Nunes went down injured, but he was able to continue, while Cornet was forced off for West Ham and replaced by Fornals.
The hosts created a lovely chance with a superb flowing move, that saw Bowen dance into the box and aim a low cross at Fornals, but Jonny was on hand to clear it.
Wolves broke forward and Podence tested Fabianski with a shot from distance, but it was fairly straightforward for the goalkeeper.
But Rayan Ait-Nouri was affording Bowen far too much space and another quick counter-attack saw the winger have a shot blocked.
Wolves entered half-time losing 1-0. They made a good start with the early chances but quickly retreated back into their shell and were deservedly behind.
The visitors started the second half with a lot of possession and played in West Ham’s half, but were unable to create much from it. That was, until, Adama latched onto a cross and his volley flew just beyond the post.
After 54 minutes, exceptionally poor defending from Wolves saw West Ham double their lead. It was far too easy for Bowen to pick the ball up on the right, cut inside on a rebound and finish into the bottom corner.
After 58 minutes, Diego Costa was introduced for his Wolves debut, in replace of the extremely quiet Guedes, as Wolves looked for some attacking inspiration.
The first chance since that change saw Podence fire straight at Fabianski from distance.
Then, the first sniff for Costa saw him throw himself at a cross, after Adama beat his man and whipped it in. The striker was also quick to berate his wingers when they failed to cross, as he made his intentions known.
That partnership almost blossomed when Adama swung a cross in and Costa had a free header inside the box, but directed it wide.
After 70 minutes Wolves were still desperately searching for a way back into the game. Adama had a shot from inside the box but blazed over.
Podence had the ball in the net, after Costa assisted, but it was flagged offside. Shortly after, one last throw of the dice saw Boubacar Traore and Chem Campbell introduced.
Youngster Campbell showed some early intent and almost scored when he floated in off the left flank, glided past two defenders and shot just wide of the near post.
West Ham kept breaking forward at pace and found a lot of space, but Neves and Kilman did a decent job to thwart them with several blocks.
The game became particularly dull in the latter stages as West Ham were keen to keep a clean sheet and secure the three points, while Wolves continued their trend of struggling in front of goal.
Traore put his body on the line to block a late Declan Rice shot, as the hosts looked for a third.
With three minutes of added time on the clock the game fizzled out, as Wolves tasted defeat once again. The travelling supporters made their thoughts known with loud boos at the final whistle, and the Wolves players looked forlorn on the field.
Only Moutinho, Podence, Campbell, Kilman and Neves approached the Wolves fans at full-time to clap them. Dozens of angry supporters made their feelings known and Moutinho raised his hands in apology – as Lage and the rest of the players headed down the tunnel.
Wolves: Sa, Semedo (Campbell, 72), Jonny, Neves, Kilman, Ait-Nouri, Moutinho, Nunes (Traore, 72), Neto (Adama, 24), Podence, Guedes (Costa, 58).
Subs not used: Sarkic, Bueno, Mosquera, Gomes, Ronan.
West Ham: Fabianski, Kehrer, Zouma, Dawson, Cresswell, Soucek, Rice, Bowen, Paqueta (Emerson, 74), Cornet (Fornals, 34), Scamacca (Antonio, 65).
Subs not used: Areola, Coufal, Ogbonna, Downes, Lanzini, Benrahma.