The midfielder’s 18th goal of the season, an Ayoze Perez double and Jamie Vardy’s strike gave the Foxes a comfortable final day win.
James Ward-Prowse’s penalty briefly gave the Saints late hope but Ralph Hasenhuttl’s stuttering side end the campaign 15th.
Leicester finish eighth in the Premier League having been robbed of an injured Vardy for virtually half a season – although the striker still scored 15 league goals.
Boss Brendan Rodgers has also seen his defend ripped apart by injuries and has, rightly, been at pains to highlight the successes this season.
A top-10 finish represents an achievement – even if it drops below their previous high standards – but the Foxes signed off on a high with Southampton.
Timothy Castagne could have started the last day celebrations early only for the defender to plant a header over from six yards.
Leicester were the more dangerous and the skittish Saints defence gave them some encouragement but, aside from Castagne’s miss, the Foxes had been careless going forward.
Vardy – mocked by the away fans amid his wife’s Wagatha Christie trial against Coleen Rooney – tried to sneak in behind but was well marshalled while Harvey Barnes ran down blind alleys.
Southampton, on occasion, would briefly threaten with a break from Adam Armstrong but there was nothing to the Saints who end the season with one win in 12 games.
Vardy failed to get decent contact on Castagne’s teasing cross just before the break but the striker did not have to wait long to play his part in the Foxes’ controversial 49th-minute opener.
After a break in play to deal with a head injury to Vardy, the ball was given to Wesley Fofana who played it back to Kasper Schmeichel.
The goalkeeper launched it long and Lyanco made a mess of his clearance – only to suffer another nightmare when he left a second header back to McCarthy woefully short.
Vardy nipped in and, although he was denied by McCarthy, Maddison gobbled up the rebound to score in a fourth straight game.
Southampton were furious having had possession when the game was stopped and referee Jon Moss had given the ball back to the Foxes.
They tried to hold an on-pitch inquest with Moss, with little success, and then lost Adam Armstrong after a clash of heads with Jonny Evans.
Nathan Redmond planted a tame header at Schmeichel but there was little fightback from the visitors and Leicester doubled the lead with 16 minutes left.
Quick feet from Barnes saw him race away to find Vardy dashing ahead of Lyanco, the striker darted into the area, left Lyanco on his backside, and fired in.
Southampton thought they had a lifeline four minutes later when Ward-Prowse fired in from the spot after Youri Tielemans fouled Stuart Armstrong, only for the Foxes to restore their two-goal lead almost immediately.
Maddison picked out substitute Perez and his smart half volley found the bottom corner. The striker also added a fourth in stoppage time, rifling in Ricardo Pereira’s cutback.