Former Luton boss Jones, 49, had been widely expected to take charge after the Saints sacked predecessor Ralph Hasenhuttl on Monday.
A club statement read: "Southampton is delighted to announce it has appointed Nathan Jones as its new men's first-team manager.
"The 49-year-old joins from Luton, signing a three-and-a-half-year contract at St Mary's, where he will also be joined by first-team coaches Chris Cohen and Alan Sheehan."
Saints had been given permission to approach Jones following Luton's Sky Bet Championship defeat at Stoke on Tuesday and the Welshman will take charge of Saturday's Premier League game at Liverpool.
Jones, who guided Luton to the Championship play-offs last season, said: "I'm really proud to be given this opportunity.
"I know a lot about the club from back in the days of The Dell, to coming here to St Mary's, and it's a wonderful football club.
"A lot of my family are Southampton fans, which doesn't half help, and I feel really, really proud to be given the opportunity, and I'm really looking forward to getting started."
Hasenhuttl, who had been appointed in December 2018, was sacked after Sunday's 4-1 home defeat to Newcastle had left them in the bottom three, with just one win in their last nine league games.
Former Brighton and Yeovil midfielder Jones has had two spells in charge of Luton, winning promotion from League Two before becoming Stoke boss in 2019.
Jones returned to Kenilworth Road 18 months later and guided them to a sixth-placed finish in the Championship last season before they lost to Huddersfield in the play-off semi-finals.
He added: "Obviously, I wanted to manage in the Premier League, I've dreamt of that since I've become a coach or a manager.
"But this club in particular - because of how it's run, because of the structure, because of how they look deeper than just results - really appeals to me."