The Hammers started the stronger, and £18m January signing Jarrod Bowen, who was making his first start since joining from Hull, scored inside the opening quarter of an hour. Southampton gave it away sloppily, Pablo Fornals slipped Bowen through down the left, and he chipped a deft finish over Alex McCarthy.
However, just after the half hour mark, Southampton equalised as James Ward-Prowse's excellent cut-back allowed Michael Obafemi to slot home from just outside the six-yard box.
Less than ten minutes after the break, Fornals was again the provider, playing through Michail Antonio, who drove in a steady finish to make it 3-1. West Ham continued to look the more dangerous, and the visitors offered little as an attacking threat as the second half progressed.
Key Talking Point
Amid the pre-match fan protests, there were serious questions over whether West Ham's players could handle the pressure of such a vital game - they started the day just a point off the relegation zone, and were without a win in the Premier League since their 4-0 victory over Bournemouth on New Year's Day.
However, David Moyes' bold team selection paid dividends. In the final third, he went with two up front, partnering Antonio with Haller, and gave Bowen his first start - it was he who scored the delightful opener, and Haller netting an excellent second.
The decision to field Antonio as a quasi second striker was also a master stroke, as Southampton's defence simply could not cope with the directness of the Hammers' front two.
West Ham Player Ratings
Starting XI: Fabianski (6); Ngakia (6), Diop (6), Ogbonna (6), Cresswell (6); Bowen (7), Noble (6), Rice (6), Fornals (7); Antonio (8*); Haller (7)
Substitutes: Snodgrass (5)
Provider of the second, scorer of the third, Antonio was a thorn in Southampton's side throughout.
Playing more as a second striker, the Saints were unable to deal with Antonio's direct runs in behind, and constant link-up play with strike partner Haller.
His goal was only his second in the Premier League this campaign, but once again the forward demonstrated how influential he can be for his side when fit.
Key Talking Point
This was perhaps more of an important game for their opponents, but Southampton did not look as sharp as we've grown accustomed to these past few months.
The ball was given away carelessly in the buildup to West Ham's opener, goalkeeper McCarthy was at fault for Haller's second, and it was far too easy for Antonio to break through and gather his composure before planting the ball into the net for the home side's third.
All in all, it looked as though Southampton were a team who simply didn't want it as much as the home side, and even the bright-looking Danny Ings could do nothing to inspire his side's performance.
Southampton Player Ratings
Starting XI: McCarthy (5); Ward-Prowse (7*), Stephens (5), Bednarek (5), Bertrand (5); Armstrong (6), Smallbone (5), Højbjerg (5), Boufal (4); Long (5), Obafemi (6)
Substitutes: Ings (6), Vestergaard (4), Romeu (4)
In a wholly sub-par team performance, it was Ward-Prowse, Mr. Consistent, who put in a commendable shift over the 90 minutes.
Despite being deployed in the unfamiliar right-back role, he was the Saints' most influential player, and took to his task impressively.
When he had the chance, the quality of his delivery was excellent, and it was his pinpointed cut-back that set up Obafemi for his side's first-half equaliser.
West Ham are back in Premier League action next Saturday, as they travel across London to take on Arsenal at the Emirates. This commences a difficult run of games, where they face Wolves, Chelsea and Tottenham.
Southampton also return to action on Saturday, but they play at St. Mary's, and host Steve Bruce's Newcastle United, who are in 14th, just a place and two points behind the Saints.
Source : 90min