Puel becomes the Foxes’ third manager this year, replacing Craig Shakespeare who succeeded Premier League title winner Claudio Ranieri in February.
Puel, 56, led the Saints to eighth in his first season in charge, as well as reaching the EFL Cup final, but the Frenchman was sacked in June.
Michael Appleton will remain as Leicester’s assistant manager.
Appleton had taken caretaker charge after Shakespeare was sacked just four months after he signed a three-year deal to take the job on a permanent basis.
Leicester City vice-chairman Aiyawatt Srivaddhanaprabha said Puel was “a perfect fit”.
“Upon meeting Claude, his attention to detail, knowledge of our squad, understanding of our potential and his vision to help us realise it were extremely impressive,” he added.
“He quickly emerged as the outstanding candidate and I am delighted we will have the opportunity to reinforce our long-term vision, aided significantly by his expertise.”
Puel takes over a Foxes side 14th in the Premier League table with two wins from nine games.
The former Monaco boss, who has also had spells at Lille and Lyon, spent four years as manager of Nice before replacing Ronald Koeman at Southampton.
He said it was “a great privilege” to take over at Leicester, adding that the club’s “values and ambitions are closely aligned to my own”.
“The opportunity to help the club build on its remarkable recent achievements is a truly exciting one and I’m looking forward to working with the owners, players, staff and supporters to deliver further lasting success.”
Despite losing 16 games last season, Puel led Southampton to an eighth-placed finish in the Premier League. Their 3-2 defeat by Manchester United in the EFL Cup final at Wembley was their first major final since 2003.
But he was dismissed after managing just one win from the final eight league matches of the season, with his side scoring just once in their last six games.