The striker netted his first goal since December 14, adding to the first-half strike from Danny Drinkwater at the King Power Stadium, and substitute Leonardo Ulloa rounded off the victory with a goal in the 87th minute.
© Getty Images
It took time for both sides to find their stride as the first meaningful chance of the game came in the 18th minute when Erik Pieters played a through-ball in behind Leicester's defence.
The ball slipped into the path of Jonathan Walters, but instead of taking an instant shot, the forward tried to cut inside onto his right foot, allowing a handful of Leicester players to close him down.
Stoke, who lost captain Ryan Shawcross to a back injury in the 30th minute, created most of their attacks through Xherdan Shaqiri, who in one move played the ball forward for Mame Biram Diouf towards the right far post, but Danny Simpson was there to head clear.
Towards the closing stages of the first half, Claudio Ranieri's side began to control proceedings, and Shinji Okazaki came close when the ball bounced favourably in front of him in the box, but his effort after that soared over the crossbar.
The Foxes' pressure eventually paid off when Drinkwater collected the ball from just outside of the box in the 42nd minute and drilled it low and hard into the bottom corner of the net - the first goal that Leicester have scored this season from outside of the box.
After the break, Stoke had a decent spell of possession, but they struggled to find a way through and rarely troubled goalkeeper Kasper Schmeichel, who looked solid every time that he was called upon.
Eleven minutes into the second half, Leicester had a big chance to double their lead when Riyad Mahrez latched on to a loose ball that was lost by Stoke in the middle of the park.
The playmaker sprinted towards the box and looked to lay the ball off to Okazaki, but he under-hit the pass and Stoke managed to dip in and clear the danger.
Mark Hughes's side were left to rue that missed opportunity as Vardy netted his 16th Premier League goal in the 66th minute by taking the ball around Butland and slotting home to double his team's lead.
Stoke struggled for answers as the game went on, and they came close to conceding a third goal in the 80th minute, but Philipp Wollschied was there to make a vital block.
N'Golo Kante started the move by weaving past three opposing players before sliding the ball forward for Vardy to latch on to, but Wollschied darted in to prevent the striker from getting a shot on goal.
It was game over for Stoke in the 87th minute when Ulloa turned in an attempt from Mahrez after the playmaker and Vardy linked up well in the area.
In the end, it was a comfortable win for Leicester, who are three points above Arsenal for the time being, while Stoke have dropped to ninth.