Robin van Persie struck in the 26th minute to end Southampton's run of not conceding in their past five matches in all competitions, but a combination of Dejan Lovren and Adam Lallana bundled home in the 89th-minute to extend his side's unbeaten Premier League run to five matches.
Both teams made two changes from their previous top-flight outings a fortnight ago, with Jonny Evans and Marouane Fellaini replacing Nemanja Vidic and Tom Cleverley for the hosts.
Saints boss Mauricio Pochettino, meanwhile, brought in Luke Shaw and Jay Rodriguez in place of Daniel Fox, omitted altogether, and striker Rickie Lambert, who dropped to the bench.
Artur Boruc made the first save of note in the 11th minute, getting down smartly to deny Van Persie after the striker got on the end of Nani's pass 12 yards from goal.
Midway through the opening period, Adam Lallana robbed Wayne Rooney deep in the United half before feeding Pablo Osvaldo on the edge of the box, but the Italy international's shot was weak and David de Gea gathered comfortably.
A minute later, the visitors were made to rue that miss as Van Persie put United in front.
Adnan Januzaj, celebrating the signing of a new five-year contract, released Rooney with a wonderful pass from deep and, although Boruc rushed from his line to deny the England forward, Van Persie collected the rebound and slotted the ball beyond the covering Lovren.
The momentum was firmly with the home side by this point, and two minutes later Rooney hammered a shot off the crossbar after collecting another Nani pass from the right.
After a quiet period either side of the break, Rooney slotted the ball beyond Boruc after exchanging passes with Van Persie in the 60th minute, only for the assistant referee to correctly raise his flag for offside.
Suddenly the game came to life, Van Persie heading Rooney's corner against the crossbar and, after the ball was hooked back into the box, Nani had a header well saved by Boruc down to his right.
Less than a minute later, the Polish goalkeeper was called into action again, beating away Januzaj's powerful drive from 30 yards before Fellaini blazed the rebound over.
De Gea denied Nathaniel Clyne with four minutes to go, but with just one minute remaining Lovren nodded James Ward-Prowse's corner down into the ground for Lallana to somehow send the ball past the Spanish goalkeeper from a matter of inches.
The result means United have taken just five points from four home league matches this season as their Premier League title defence continues to falter.