Substitute Charlie Austin scored seven minutes into his Southampton debut as a lacklustre Manchester United were booed off at Old Trafford.
Austin rose to head home a free-kick in the 87th minute to win an otherwise dour game of few chances.
Southampton have now won at United in the league for the last two seasons.
United and their manager Louis van Gaal were jeered by home fans at full-time after producing just one shot on target in 90 minutes.
They have won just one of their past five home games - and have failed to score in three of those.
United's first-half record in front of goal is even worse. They have now gone eight hours and 26 minutes without scoring in the first 45 minutes of games at Old Trafford.
Van Gaal's side are now five points behind fourth-placed Tottenham, who won 3-1 at Crystal Palace on Saturday.
Southampton are now just four points and three league places behind United, having won their past three matches. The win also ends a four-match losing streak away from St Mary's for Ronald Koeman's team.
Southampton paid QPR just £4m to sign Austin on 16 January - a figure more representative of the length of time left on his contract with the Championship club than his ability.
In the 2014-15 season, the striker scored 18 Premier League goals, then added 10 in 16 Championship matches prior to his move back to the top flight.
And it took him just seven minutes to pick up where he left off as he found space in the box to meet fellow substitute James Ward-Prowse's free-kick and bury a header past David de Gea.
Prior to that, the Saints were comfortable, working hard to disrupt United's rhythm, managing possession well and looking to hit on the break.
They produced the best of what were few chances in the game, but Sadio Mane fluffed a shot from the edge of the box and Shane Long and Victor Wanyama headed wide from successive corners.
United came into the game off the back of two encouraging performances - an improved attacking display at Newcastle and a confidence-boosting win at Liverpool.
But they were unable to build on those, producing a tame 90 minutes strewn with errors and completely lacking in speed of thought or movement.
It made Southampton's containment job an easy one and left them vulnerable to the kind of late sting they had inflicted at Anfield last Sunday.
Van Gaal and his team were booed off at the end of a first half in which Saints keeper Fraser Forster was only tested once - from an optimistic 40-yard shot from Daley Blind - and Wayne Rooney, Anthony Martial and Jesse Lingard all shot woefully wide.
The jeers and abuse were far more ferocious at the end of a second half that United began more encouragingly following the introduction of Juan Mata, but quickly faded after Southampton had seen off their initial charge.
The defeat is sure to intensify the pressure on Van Gaal.
The 64-year-old had suggested last week's win at Liverpool could be "fantastic starting point" for his side in 2016, but he has now led United to their lowest ever Premier League points tally (37) after 23 games.
After the match, the Dutchman admitted that the home supporters were right to boo, adding: "In better or worse we have to stick together.
"You have to meet expectation and expectations are very high, that gives a lot of pressure for the players.
"We are working very hard but we have a lot of injuries. That you cannot change."
Manchester United manager Louis van Gaal: "I had a feeling they could score only from a set-play. Our defence in set-plays was weaker because I changed Fellaini and had to change Darmian. Every change was a weakness in defence.
"I wanted to win this game and that's why I changed Cameron Borthwick-Jackson for Adnan Januzaj. That is a risk you take, it was a poor game and we didn't create so much and neither did our opponent."
Southampton manager Ronald Koeman: "We played very good. Our organisation was good, we were very compact, we had good pressing.
"We stayed in the game, controlled the game and you saw more nerves in the Man Utd team and finally we score from a corner kick.
"We showed spirit today, it was an amazing result for the second time here."
Manchester United are away at Championship side Derby in the fourth round of the FA Cup next Friday evening. Southampton's next match is in the league - a tough trip to Arsenal on Tuesday, 2 February.
Full Time Match ends, Manchester United 0, Southampton 1.
90:00 +5:02 Full timeFull Time Second Half ends, Manchester United 0, Southampton 1.
90:00 +4:06Attempt missed. Adnan Januzaj (Manchester United) left footed shot from the left side of the box is close, but misses to the right.
90:00 +2:22Hand ball by Shane Long (Southampton).
90:00 +0:18Attempt saved. Oriol Romeu (Southampton) left footed shot from the left side of the box is saved in the bottom left corner.
88:53Foul by Wayne Rooney (Manchester United).
88:53Virgil van Dijk (Southampton) wins a free kick in the defensive half.
86:40 Goal scoredGoal! Goal! Manchester United 0, Southampton 1. Charlie Austin (Southampton) header from the centre of the box to the bottom right corner. Assisted by James Ward-Prowse with a cross following a set piece situation.
85:55Foul by Adnan Januzaj (Manchester United).
85:55Charlie Austin (Southampton) wins a free kick on the right wing.
85:33 SubstitutionSubstitution Substitution, Manchester United. Adnan Januzaj replaces Cameron Borthwick-Jackson.
79:13Attempt missed. Shane Long (Southampton) header from the centre of the box is too high. Assisted by James Ward-Prowse with a cross following a set piece situation.
78:57 SubstitutionSubstitution Substitution, Southampton. Charlie Austin replaces Sadio Mané.
77:54Foul by Chris Smalling (Manchester United).
77:54Shane Long (Southampton) wins a free kick on the right wing.
76:47Offside, Manchester United. Cameron Borthwick-Jackson tries a through ball, but Juan Mata is caught offside.
72:07Ander Herrera (Manchester United) wins a free kick in the attacking half.
72:07Foul by Victor Wanyama (Southampton).
71:05Corner, Southampton. Conceded by Jesse Lingard.
70:11Foul by Jesse Lingard (Manchester United).
Matt Targett (Southampton) wins a free kick on the left wing.
67:48Attempt missed. Oriol Romeu (Southampton) right footed shot from outside the box is too high following a set piece situation.
66:55Foul by Chris Smalling (Manchester United).
66:55Shane Long (Southampton) wins a free kick in the attacking half.
66:23 SubstitutionSubstitution Substitution, Southampton. James Ward-Prowse replaces Dusan Tadic.
66:07 SubstitutionSubstitution Substitution, Southampton. Oriol Romeu replaces Jordy Clasie.
65:16Offside, Manchester United. Jesse Lingard tries a through ball, but Juan Mata is caught offside.
65:05Corner, Manchester United. Conceded by Jose Fonte.
63:39Daley Blind (Manchester United) wins a free kick in the defensive half.
63:39Foul by Sadio Mané (Southampton).
61:05Attempt missed. Victor Wanyama (Southampton) header from the centre of the box is close, but misses to the left. Assisted by Ryan Bertrand with a cross following a corner.
60:34Corner, Southampton. Conceded by Patrick McNair.
60:00Corner, Southampton. Conceded by Patrick McNair.
59:29 SubstitutionSubstitution Substitution, Manchester United. Patrick McNair replaces Matteo Darmian because of an injury.
59:28Delay over. They are ready to continue.
56:51Delay in match Matteo Darmian (Manchester United) because of an injury.
56:51Delay in match Shane Long (Southampton) because of an injury.
55:42Corner, Manchester United. Conceded by Virgil van Dijk.
55:31Attempt blocked. Wayne Rooney (Manchester United) right footed shot from outside the box is blocked. Assisted by Morgan Schneiderlin.
54:22Corner, Manchester United. Conceded by Victor Wanyama.
54:18Attempt blocked. Ander Herrera (Manchester United) right footed shot from outside the box is blocked. Assisted by Wayne Rooney.
53:52Anthony Martial (Manchester United) wins a free kick on the left wing.
53:52Foul by Virgil van Dijk (Southampton).
49:24Foul by Cameron Borthwick-Jackson (Manchester United).
49:24Dusan Tadic (Southampton) wins a free kick in the defensive half.
47:47Corner, Manchester United. Conceded by Victor Wanyama.
45:43Offside, Southampton. Fraser Forster tries a through ball, but Sadio Mané is caught offside.
45:00Second Half begins Manchester United 0, Southampton 0.
45:00 SubstitutionSubstitution Substitution, Manchester United. Juan Mata replaces Marouane Fellaini.
45:00 +2:01 Half timeHalf Time First Half ends, Manchester United 0, Southampton 0.
45:00 +0:12Attempt missed. Jesse Lingard (Manchester United) left footed shot from outside the box is close, but misses to the right. Assisted by Anthony Martial.
39:35Matteo Darmian (Manchester United) wins a free kick in the defensive half.
39:35Foul by Dusan Tadic (Southampton).
34:13Corner, Southampton. Conceded by Chris Smalling.
31:13Attempt missed. Victor Wanyama (Southampton) header from very close range is too high. Assisted by Jordy Clasie with a cross following a set piece situation.
30:30Foul by Matteo Darmian (Manchester United).
30:30Shane Long (Southampton) wins a free kick on the left wing.
29:02Attempt missed. Wayne Rooney (Manchester United) right footed shot from outside the box misses to the right. Assisted by Cameron Borthwick-Jackson.
26:18Chris Smalling (Manchester United) wins a free kick in the defensive half.
26:18Foul by Shane Long (Southampton).
23:55Foul by Morgan Schneiderlin (Manchester United).
23:55Sadio Mané (Southampton) wins a free kick on the right wing.
23:05Attempt missed. Cédric Soares (Southampton) right footed shot from outside the box is high and wide to the right. Assisted by Sadio Mané.
22:42Delay over. They are ready to continue.
20:48Delay in match Jordy Clasie (Southampton) because of an injury.
20:20Foul by Anthony Martial (Manchester United).
20:20Ryan Bertrand (Southampton) wins a free kick in the defensive half.
19:09Attempt missed. Wayne Rooney (Manchester United) right footed shot from outside the box misses to the left. Assisted by Ander Herrera.
15:13Delay over. They are ready to continue.
14:50Delay in match Victor Wanyama (Southampton) because of an injury.
12:22Attempt saved. Daley Blind (Manchester United) left footed shot from outside the box is saved in the centre of the goal. Assisted by Wayne Rooney.
11:29Anthony Martial (Manchester United) wins a free kick in the attacking half.
11:29Foul by Ryan Bertrand (Southampton).
10:36Foul by Morgan Schneiderlin (Manchester United).
10:36Jordy Clasie (Southampton) wins a free kick in the attacking half.
8:48Anthony Martial (Manchester United) wins a free kick on the left wing.
8:48Foul by Virgil van Dijk (Southampton).
7:47Attempt missed. Anthony Martial (Manchester United) right footed shot from outside the box misses to the left. Assisted by Marouane Fellaini.
2:29Victor Wanyama (Southampton) wins a free kick in the defensive half.
2:29Foul by Marouane Fellaini (Manchester United).
0:00First Half begins.
0:00Lineups are announced and players are warming up.
Live data and text provided by our data suppliers