The home side were 2-0 up after 33 minutes and Manchester United did well to come back and win the game.
Jan Bednarek gives Southampton their lead on the 23rd minute and James Ward-Prowse doubled their advantage ten minutes later.
Ole Gunnar Solskjaer’s team came back into the game in the second half when Bruno Fernandes scored on the 59th minute.
Summer signing Edinson Cavani turned the game on its head with his 74th-minute equaliser and the Uruguayan international bagged a stunning winner deep into injury time.
Manchester United could have scored in the first half but Alex McCarthy produced an outstanding double save to deny Mason Greenwood and Bruno Fernandes.
It will be interesting to see if Solskjaer decides to give Cavani a run of starts after today’s performance.
The Uruguayan international came on as a half time substitute and changed the game completely. Apart from his brace, he managed to tee up Bruno Fernandes for his goal as well.
The win takes Manchester United up to 7th in the Premier League table with 16 points from nine matches.
Meanwhile Southampton are now 5th after the defeat and Ralph Hasenhuttl will be disappointed with how his team dropped all three points after having a considerable lead in the game.