Vardy had only just come on as a substitute when he scored from the penalty spot with his first touch of the ball and he added another goal with 11 minutes remaining as Villa slumped to a fourth Premier League loss in a row.
Harvey Barnes also scored twice as the Foxes, who had only picked up two points from their previous four top-flight matches, got their top-four push back on track.
Leicester were the better side for most of the game and they almost scored in the 11th minute when Villa goalkeeper Pepe Reina pushed Jonny Evans’ header away to safety.
Foxes striker Kelechi Iheanacho contrived to miss the target when it seemed easier to score while Barnes saw his low drive saved by former Liverpool shot-stopper Reina.
However, Barnes did break the deadlock in the 40th minute when Marc Albrighton’s ball forward tempted the former Liverpool shot-stopper out of his goal. Barnes had little trouble beating the 37-year-old Spaniard for pace and then slotting the ball home.
It was a serious error of judgement by Reina but he did at least make a smart stop at the start of the second period when Iheanacho looked set to double Leicester’s lead.
Evans sent a header wide before Vardy beat Reina with his 63rd-minute spot-kick after Tyrone Mings was adjudged to have handled Barnes’ cross.
Vardy made it 3-0 in the 79th minute when he finished off a flowing Leicester move before Barnes netted the fourth goal six minutes later, lashing the ball past Reina after latching on to former Villa star Albrighton’s pass.
Villa will attempt to bounce back when they host Chelsea on Saturday while Brendan Rodgers’ Leicester outfit visit Watford.