United extends lead over rival City
United fell behind after three minutes when goalkeeper David de Gea was partly culpable for Jay Rodriguez scoring.
Even after Wayne Rooney responded with two goals in the first half for United, De Gea's goalkeeping remained a concern, looking nervy throughout.
Southampton spent almost the entire second half in United territory and was denied a point only by some desperate defending, with Adam Lallana coming close to equalizing after De Gea spilled Rickie Lambert's free kick straight to him.
But while United is seven points ahead of Manchester City at the top, Southampton is just three points clear of the relegation zone.
A much-needed win, though, looked possible in the opening minutes.
After an underhit and misdirected back pass from Michael Carrick, De Gea failed completely to block, and Rodriguez stroked the ball into an empty net.
Southampton's problem was that despite the delirium, the team still had another 87 minutes to get through against a side so used to coming from behind it is almost routine.
Southampton never looked likely to manage it.
One excellent throughball from Shinji Kagawa was all it took to slice through the visitors' defense, allowing Rooney to charge forward and equalize in the 8th minute.
Kagawa hit a post on United's next attack and it took some excellent goalkeeping from Artur Boruc to keep the hosts at bay as returning Robin van Persie and Danny Welbeck both threatened danger.
Rooney's 101st goal at Old Trafford came in the 27th.
When defender Patrice Evra climbed highest at the far post to meet Van Persie's free kick, Evra left Rooney with the easiest of tap-ins.
But with United struggling to find its rhythm at the start of the second period, Mauricio Pochettino's team pushed forward in search of a leveler, with substitute Lallana having a significant influence as Rickie Lambert twice went close.
Amid the dicey defending that eventually heralded the introduction of United veteran Rio Ferdinand, the most telling moment came when De Gea spilled Lambert's long-range free kick.
A gasp went round Old Trafford before De Gea pounced to deny Lallana a tap-in, and sarcastic cheers when the goalkeeper next caught the ball.
Briefly, United relieved the pressure, with Van Persie's goalbound header brilliantly saved by Boruc before the Dutchman had an effort ruled out for offside.
But Southampton was soon back on the offensive, and United fans were able to cheer something positive from De Gea - an excellent flying save to turn away Lambert's free kick.
Nemanja Vidic flung himself in the way of another Lambert shot before Rooney, who finished playing on the left as defensive cover for Evra, ensured Southampton's final assault went nowhere.