The Portuguese centre-half headed home from a corner midway through the first 45 minutes, while his defensive partner doubled the lead shortly before the interval.
Claudio Ranieri's side started the second 45 minutes brighter than their opponents, as Nathan Dyer had a good chance from a set piece to get the Foxes back into the game but the on-loan Swansea City winger was hurried by Van Dijk and wasted his opportunity.
However, Leicester got themselves back into the game through the Premier League's current top goalscorer, as Vardy scored his sixth goal in as many games, after Dyer created the opportunity by running at the Saints backline, allowing space for the England international to get in behind and exploit the space.
Vardy then had the chance to score his second of the game and his side's equaliser but blazed his shot well over, with Kelvin Davis already beaten when the shot fell to Vardy.
Despite his previous miss, the Foxes got their equaliser through the England striker who managed to convert his one-on-one attempt by blasting his shot into the roof of the net.
The goal keeps the 28-year-old as the top goalscorer in the league with nine, three ahead of Sergio Aguero in second.