Andy Carroll came on to score the winner as West Ham recorded their first Premier League victory in two months by fighting back to beat Southampton.
Saints dominated the first half and went ahead when Dusan Tadic's prodded effort deflected in off Carl Jenkinson.
Michail Antonio levelled in bizarre fashion when a clearance hit him and looped in, before Carroll struck.
The West Ham striker made amends for a terrible miss by heading in from close range after Antonio had hit the bar.
Victory was the Hammers' first since a 2-1 win at home to Chelsea on 24 October, when then Blues boss Jose Mourinho was sent to the stands.
Slaven Bilic's side move up to seventh in the table, while Ronald Koeman's Saints, who beat Arsenal 4-0 at home on Boxing Day, stay 12th.
Re-live West Ham's 2-1 win over Southampton
Follow reaction to Monday's matches
After drawing for a fifth time in a row on Saturday, Hammers boss Bilic bemoaned the injuries to his key attacking players.
Carroll and Manuel Lanzini made their returns as second-half substitutes on Monday, but the Croat is still without Victor Moses, Dimitri Payet, and Diafra Sakho up front.
Having scored just four times in their previous eight games, the comeback looked far from likely, but West Ham transformed the match through a second-half performance that was a world apart from their poor opening to the game.
There was a huge element of fortune about Antonio's equaliser, but it was deserved for the number of chances the home side created after the break, with Carroll missing the most clear-cut when earlier blazing over from six yards out.
The way Southampton started the match made you think they had finally turned the corner and rediscovered the kind of form that saw them finish seventh last year.
Koeman's side had picked up only one point from five league games before Saturday's demolition of Arsenal at St Mary's and that result had clearly given them confidence.
In the first half Saints had zip and zeal in midfield, were solid at the back, and created chances aplenty through the running of Shane Long and Sadio Mane up front.
But if the away side were far superior in the opening 45 minutes, the opposite was true in the second half as the introduction of Carroll and Lanzini turned the match in the Hammers' favour.
West Ham boss Slaven Bilic: "After the goal we were totally down and I waited for half-time because I didn't want to humiliate the players by changing them before. I was happy when the referee blew, because they could have been 2-0 up.
"At half-time we made some changes but it was a change of character, of approach, of determination and will. They did try in the first half, but this was a different West Ham.
"We equalised and continued to chase, and at the end of the day we were rewarded for everything we did in the second half."
Southampton manager Ronald Koeman: "The second half was totally different to the first. We had to score more than one in the first half, because otherwise you expect their reaction in the second. If you score only one they still have belief.
"The first half was the level of the Arsenal game. It was one team on the pitch playing football. But out of a better second half they scored two goals, and from a fantastic first we scored one.
"If you are the dominant side you have to score more than one goal, and that was the problem."
West Ham play Liverpool at home in a 12:45 GMT kick-off on Saturday, when Southampton travel to Norwich for a 15:00 start.
Full Time Match ends, West Ham United 2, Southampton 1.
90:00 +4:19 Full timeFull Time Second Half ends, West Ham United 2, Southampton 1.
90:00 +0:57Attempt missed. Virgil van Dijk (Southampton) right footed shot from the centre of the box misses to the left.
89:58Attempt missed. Michail Antonio (West Ham United) right footed shot from the centre of the box is high and wide to the right. Assisted by Carl Jenkinson following a fast break.
89:29Corner, Southampton. Conceded by James Tomkins.
85:56 SubstitutionSubstitution Substitution, West Ham United. Pedro Obiang replaces Enner Valencia because of an injury.
85:15Offside, Southampton. Ryan Bertrand tries a through ball, but Juanmi is caught offside.
83:11Delay over. They are ready to continue.
81:59Delay in match Enner Valencia (West Ham United) because of an injury.
80:57Corner, Southampton. Conceded by Angelo Ogbonna.
80:10James Tomkins (West Ham United) wins a free kick in the defensive half.
80:10Foul by Shane Long (Southampton).
78:39 Goal scoredGoal! Goal! West Ham United 2, Southampton 1. Andy Carroll (West Ham United) header from very close range to the top left corner.
78:36Michail Antonio (West Ham United) hits the bar with a right footed shot from the centre of the box.
76:44Offside, Southampton. Jose Fonte tries a through ball, but Shane Long is caught offside.
76:40Attempt missed. Steven Davis (Southampton) right footed shot from outside the box misses to the right following a corner.
76:06Corner, Southampton. Conceded by James Tomkins.
75:14Attempt missed. James Tomkins (West Ham United) right footed shot from outside the box misses to the left following a set piece situation.
74:51Enner Valencia (West Ham United) wins a free kick in the attacking half.
74:51Foul by Virgil van Dijk (Southampton).
Substitution Substitution, Southampton. Juanmi replaces Sadio Mané.
74:15 SubstitutionSubstitution Substitution, Southampton. Gastón Ramírez replaces Dusan Tadic.
73:51Manuel Lanzini (West Ham United) wins a free kick in the defensive half.
73:51Foul by Ryan Bertrand (Southampton).
72:38Corner, Southampton. Conceded by Cheikhou Kouyaté.
71:32Foul by Andy Carroll (West Ham United).
71:32Ryan Bertrand (Southampton) wins a free kick in the defensive half.
70:54Attempt saved. Enner Valencia (West Ham United) right footed shot from the left side of the box is saved in the bottom left corner. Assisted by Mark Noble.
70:34Corner, West Ham United. Conceded by Maya Yoshida.
69:43Attempt missed. Manuel Lanzini (West Ham United) right footed shot from outside the box is close, but misses to the left. Assisted by Enner Valencia.
69:11 SubstitutionSubstitution Substitution, Southampton. Maya Yoshida replaces Cuco Martina.
68:11 Goal scoredGoal! Goal! West Ham United 1, Southampton 1. Michail Antonio (West Ham United) header from the centre of the box to the top left corner.
66:28Attempt saved. Steven Davis (Southampton) left footed shot from long range on the left is saved in the top right corner.
65:59Corner, West Ham United. Conceded by Steven Davis.
65:17 BookingBooking Ryan Bertrand (Southampton) is shown the yellow card for a bad foul.
65:13Michail Antonio (West Ham United) wins a free kick in the attacking half.
65:13Foul by Ryan Bertrand (Southampton).
64:27Attempt saved. Oriol Romeu (Southampton) right footed shot from outside the box is saved in the centre of the goal. Assisted by Sadio Mané.
61:30James Tomkins (West Ham United) wins a free kick in the defensive half.
61:30Dangerous play by Dusan Tadic (Southampton).
57:41 BookingBooking James Tomkins (West Ham United) is shown the yellow card for hand ball.
57:18Hand ball by James Tomkins (West Ham United).
55:46Attempt saved. Andy Carroll (West Ham United) header from the centre of the box is saved in the centre of the goal. Assisted by James Tomkins with a cross.
55:01 BookingBooking Oriol Romeu (Southampton) is shown the yellow card for a bad foul.
54:57Manuel Lanzini (West Ham United) wins a free kick in the defensive half.
54:57Foul by Oriol Romeu (Southampton).
54:51Attempt blocked. Virgil van Dijk (Southampton) right footed shot from outside the box is blocked.
53:45Foul by James Collins (West Ham United).
53:45Dusan Tadic (Southampton) wins a free kick in the attacking half.
51:15 BookingBooking Cuco Martina (Southampton) is shown the yellow card for a bad foul.
51:09Enner Valencia (West Ham United) wins a free kick in the defensive half.
51:09Foul by Cuco Martina (Southampton).
48:49James Tomkins (West Ham United) wins a free kick in the defensive half.
48:49Foul by Shane Long (Southampton).
47:59Attempt missed. Andy Carroll (West Ham United) right footed shot from the centre of the box is too high. Assisted by James Tomkins.
47:46Attempt blocked. James Collins (West Ham United) header from the centre of the box is blocked. Assisted by Manuel Lanzini with a cross.
46:55Corner, West Ham United. Conceded by Virgil van Dijk.
45:00 SubstitutionSubstitution Substitution, West Ham United. Manuel Lanzini replaces Alexandre Song.
45:00Second Half begins West Ham United 0, Southampton 1.
45:00 SubstitutionSubstitution Substitution, West Ham United. Andy Carroll replaces Mauro Zárate.
45:00 +1:09 Half timeHalf Time First Half ends, West Ham United 0, Southampton 1.
45:00 +1:00Foul by Cuco Martina (Southampton).
45:00 +1:00Cheikhou Kouyaté (West Ham United) wins a free kick in the defensive half.
43:05Attempt saved. Dusan Tadic (Southampton) right footed shot from outside the box is saved in the bottom left corner. Assisted by Sadio Mané.
41:57Attempt missed. Sadio Mané (Southampton) left footed shot from the centre of the box misses to the left. Assisted by Dusan Tadic.
41:25Attempt missed. Victor Wanyama (Southampton) right footed shot from the centre of the box is high and wide to the right following a corner.
41:22Attempt saved. Jose Fonte (Southampton) header from the left side of the six yard box is saved in the top centre of the goal. Assisted by Steven Davis with a cross.
40:54Corner, Southampton. Conceded by Michail Antonio.
40:06Attempt blocked. Dusan Tadic (Southampton) left footed shot from outside the box is blocked. Assisted by Victor Wanyama.
38:21Foul by Alexandre Song (West Ham United).
38:21Cuco Martina (Southampton) wins a free kick on the right wing.
36:53Foul by Mauro Zárate (West Ham United).
36:53Steven Davis (Southampton) wins a free kick in the defensive half.
34:13Attempt missed. Steven Davis (Southampton) right footed shot from outside the box is close, but misses to the right.
28:13Foul by Oriol Romeu (Southampton).
28:13Mauro Zárate (West Ham United) wins a free kick in the defensive half.
27:23Attempt missed. Oriol Romeu (Southampton) right footed shot from outside the box is close, but misses to the left.
25:27Corner, Southampton. Conceded by James Collins.
25:26Attempt blocked. Steven Davis (Southampton) left footed shot from the centre of the box is blocked. Assisted by Shane Long with a cross.
21:55Foul by Steven Davis (Southampton).
21:55Mauro Zárate (West Ham United) wins a free kick in the defensive half.
21:16Corner, Southampton. Conceded by James Collins.
20:35Attempt missed. Shane Long (Southampton) left footed shot from the centre of the box is close, but misses to the left. Assisted by Jose Fonte.
17:12Dusan Tadic (Southampton) wins a free kick in the attacking half.
17:12Foul by Cheikhou Kouyaté (West Ham United).
12:33 Goal scoredGoal! Own Goal by Carl Jenkinson, West Ham United. West Ham United 0, Southampton 1.
12:30Attempt missed. Dusan Tadic (Southampton) left footed shot from very close range misses to the right. Assisted by Shane Long with a cross.
11:53Attempt missed. Cheikhou Kouyaté (West Ham United) right footed shot from outside the box is high and wide to the right. Assisted by Mark Noble.
9:40Offside, West Ham United. Angelo Ogbonna tries a through ball, but Michail Antonio is caught offside.
8:49Attempt blocked. Enner Valencia (West Ham United) right footed shot from outside the box is blocked. Assisted by Mark Noble.
7:49Attempt missed. Mauro Zárate (West Ham United) right footed shot from the centre of the box is close, but misses to the left. Assisted by James Tomkins with a cross.
3:32Corner, West Ham United. Conceded by Jose Fonte.
2:56Foul by Dusan Tadic (Southampton).
2:56Mauro Zárate (West Ham United) wins a free kick on the left wing.
0:00First Half begins.
0:00Lineups are announced and players are warming up.
Live data and text provided by our data suppliers