Rickie Lambert headed the hosts in front after 16 minutes before Van Persie levelled seven minutes later with a fine strike.
Nathaniel Clyne’s inopportune slip cost Saints but the home side enjoyed their own dollop of good fortune 10 minutes into the second half as Patrice Evra also slipped on the turf, allowing Morgan Schneiderlin to head home.
Saints would have been pegged back once again, though, had it not have been for goalkeeper Kelvin Davis, who saved a cheeky penalty attempt by Van Persie.
The Netherlands international looked set to get his first taste of the famous hairdryer treatment from Sir Alex Ferguson, in his 1000th league game in charge of United, only to provide a late double salvo inside the final three minutes that turned the game on its head and saw him rack up his 100th Premier League goal.
Heading into the game, much of the talk was about Ferguson’s decision to play Anders Lindegaard instead of regular number one goalkeeper David de Gea.
Rio Ferdinand was also a notable inclusion as he made his first appearance of the season, partnering Nemanja Vidic in defence for the first time since a 2-1 defeat to Basel last December.
The occasion seemed to get the better of the hosts in the opening exchanges and in the sixth minute Van Persie fired a volley just wide.
The attempt awoke Southampton from their slumber and they were soon pushing forward, with Adam Lallana shooting wide after meeting a clever low corner from Danny Fox.
Schneiderlin blazed over from long-range as the hosts continued to push for a goal that came after just 16 minutes.
Saints were getting a lot of joy down the right flank and made the most of it as Jason Puncheon sent a hanging cross to the back post, which Rafael failed to deal with and Lambert headed home.
However, like so often, the goal only seemed to spur Ferguson’s side into life.
Shinji Kagawa was first to show the visitors’ intent as he struck a speculative 20-yard effort that Davis could only push wide.
Southampton rode out that storm but could not prevent United drawing level in the 23rd minute.
Antonio Valencia’s cross from the right looked like it would be intercepted by Clyne but the Saints right-back slipped and Van Persie took full advantage, controlling with aplomb before firing home.
The Netherlands international almost added a 99th Premier League goal shortly afterwards with a nonchalant 20-yard free-kick which curled just wide.
It was not all United, though, as Lambert fired just wide and then both James Ward-Prowse and Lallana came close with long-range efforts.
However, Ferguson’s side were proving adept at exploiting the hosts’ weaknesses.
One such example was Saints left-back Fox, who once again let Valencia cross from the right and, following another slip by Clyne, only the quick reactions of Davis prevented Evra netting at the back post.
Fox’s torrid time continued in the second half as Valencia beat him to a pass from Davis, although the Ecuadorian’s cross was not converted by Van Persie.
Kagawa came close moments before that as United started the second half just as they had ended the first.
That domination counted for nothing, though, as another penalty-box slip resulted in a goal.
This time Evra was the unfortunate party as his fall allowed Schneiderlin to nod home a Lambert cross unopposed to the delight of the vast majority of those inside St Mary’s.
It started a spell of dominance for the hosts as Puncheon forced Lindegaard into a smart save at the near post, before Rafael cleared under pressure from Lambert and Lallana had an effort blocked.
Only Ferdinand prevented Ward-Prowse slotting home a Lambert cross, before Paul Scholes and Nani came on as Ferguson looked to turn the screw on the hosts – and it almost had an immediate effect.
After Van Persie saw an effort saved by Davis, the Saints goalkeeper sent a terrible miskick straight to substitute Nani on the left.
The ball was worked into the box and Jos Hooiveld conceded a penalty for a sliding challenge on the former Arsenal striker.
Van Persie took the resulting penalty but his chip was saved by Davis, much to the delight of the home faithful.
Debutant Emmanuel Mayuka was among three changes made by manager Nigel Adkins as he looked to close out the game under immense United pressure.
Javier Hernandez headed across the face of goal in the dying minutes, before he was then denied by a late Clyne tackle.
However, Saints could not stop United grabbing a later equaliser as Ferdinand’s header came back off the post and Van Persie directed home three minutes from time.
Things got worse for the hosts in stoppage time as Van Persie nodded home Nani’s cross to ensure the three points would go back to Old Trafford.