The Dane finished off the attack with a thumping header that drew Saints level nearing the hour mark after Danny Ings had forced David De Gea into a point-blank save from a corner kick.
Daniel James, who added his third league goal in four games since joining from Swansea, had given United the lead on 10 minutes when he cut inside from the right before firing a right-footed into the top corner.
United remained in control after taking a 1-0 lead, with James twice coming close to doubling his tally either side of Aaron Wan Bissaka’a effort.
Saints ended the opening stanza on a high and pressured the United goal following the restart.
Che Adams, who has made an auspicious start for Saints following a strong preseason, scuffed a chance after being played towards goal by Sofiane Boufal.
But Jannik Vestergaard would out-jump Victor Lindelof to equalise for Southampton with a thumping header on 58 minutes.
Kevin Danso, however, set Southampton up for a nervy finish when he was shown his second yellow for a poor challenge on Scott McTominay with 18 minutes remaining.
Angus Gunn comfortably denied James and Marcus Rashford before halting substitute Mason Green in the closing stages, as Saints staved off United’s late pressure.
Southampton: Gunn, Danso, Bednarek, Vestergaard, Cedric, Hojbjerg, Romeu, Boufal (Armstrong 71), Ward-Prowse, Adams (Long 62), Ings (Yoshida 77).
Unused subs: McCarthy (GK), Yoshida, Stephens, Valery, N’Lundulu.
Bookings: Danso (19, 73), Armstrong (90+6).
Goals: Vestergaard (58).
Manchester United: De Gea, Young, Maguire, Lindelof, Wan-Bissaka, McTominay (Greenwood 82), Pogba, Andreas (Lingard 68), Mata (Matic 68), James, Rashford.
Unused subs: Romero, Marcos Rojo, Tuanzebe, Chong.
Bookings: Maguire (40), Young (90+4).
Goals: James (10).