Charlie Austin scored the winner with his first touch in a Southampton shirt to pile the pressure on beleaguered Manchester United manager Louis van Gaal.
United supporters once again vented their anger towards Van Gaal after watching their team put on yet another dull, uninspiring performance at Old Trafford.
Boos rang out around Old Trafford at half-time and following the final whistle as Saints recorded only their second win at United's home since 1988, but also their second in 13 months.
There was no doubting who the home supporters blamed for this latest insipid display. Van Gaal was jeered at as he walked down the tunnel. The message was clear -- he is no longer wanted by some of them.
This was dour stuff from United, possibly the worst performance of what has been a forgettable season. And they are now five points behind fourth-placed Tottenham with 15 matches to go.
United too often shifted the ball sideways and backwards, which caused groans from the home supporters. And when Austin rose unmarked to power in James Ward-Prowse's free-kick in the 87th minute, it came as no surprise.
United offered next to nothing in front of goal. Fraser Forster had one save to make all match.
Van Gaal claimed in his programme notes that United had started 2016 "well," but the home fans who were put through yet another dreadful 45 minutes must have disagreed.
Yes, results had improved recently, but the style of play has not. United were often ponderous in possession and seemed too nervous to pass forward.
Daley Blind provided Forster with his only test of the opening 45 minutes, but the England goalkeeper had little trouble collecting the Dutchman's long-range shot.
Wayne Rooney dragged a shot wide and Anthony Martial tried to chase a short backpass from Virgil van Dijk, but otherwise there was little optimism from the home supporters.
Those who left their seats for their half-time refreshments just after the half hour mark missed the best chance of the half. It went to Southampton, who should have taken the lead when Dusan Tadic played a one-two with Sadio Mane but the striker's touch let him down and David de Gea collected.
Boos rang out when United pumped the ball forward twice in quick succession and more jeers came when the half-time whistle sounded.
Cheers greeted the announcement that the blundering Marouane Fellaini, who had earlier caught Victor Wanyama with his forearm while jumping, was to be replaced by Juan Mata.
The Spaniard injected purpose and energy into United's attacks. Mata laid the ball off to Martial inside the box, but Van Dijk put in a well-timed interception to deny the Frenchman.
Saints rose to the challenge, launching an assault on the United defence around the hour. Wanyama and Long went close with headers from inside the box.
Van Gaal was forced into an unwanted substitution when Matteo Darmian, the club's only fit senior full-back, was replaced by Paddy McNair after being caught in the ribs by Long while jumping for the ball.
Austin came on for his Saints debut with 12 minutes to go. His strike partner Long wasted a good chance by heading over James Ward-Prowse's cross.
Austin did not pass on his opportunity, however. The £4 million signing lost his marker and powered in Ward-Prowse's free-kick before Van Gaal walked down the touchline to boos and whistles from the home fans.