Leicester named the same XI that drew at Aston Villa last weekend and Vardy had the first sight of goal with a sweetly struck first-time shot from Marc Albrighton’s left-wing centre that Butland could only parry.
Xherdan Shaqiri returned from his injury-enforced three-match absence in one of two Stoke changes and the winger’s dangerous cross from the right drew an excellent defensive header from Danny Simpson, with Mame Biram Diouf ready to pounce.
Stoke were then dealt a blow on the half-hour mark when captain Ryan Shawcross limped off to be replaced by Wilson.
Leicester finished the half well and the hosts moved ahead in the 41st minute.
A corner from the right was only cleared as far as Drinkwater 20 yards from goal and his excellent half-volley deflected off Wilson into the net for his first goal since April 2014.
Leicester will feel they should have made more of a lightning counter-attack led by Riyad Mahrez 10 minutes after the break, the winger’s attempted pass to Shinji Okazaki was weak, though, and Stoke scrambled clear.
It almost proved costly as at the other end Glen Johnson’s pinpoint cross was met by the unmarked Joselu, who wastefully headed straight at Kasper Schmeichel.
And Stoke were made to rue that miss in the 66th minute.
Vardy gave chase to Drinkwater’s superb throughball and the England striker kept his composure to round Butland and slot home his 16th Premier League goal of the season.
Robert Huth’s sliced free-kick will no doubt have raised a few wry smiles from his former Stoke team-mates, but Leicester added a third with three minutes remaining.
Mahrez jinked into the area and his miscued shot was prodded in by the sliding Ulloa as Leicester earned a potentially priceless three points ahead of a difficult period where they play Liverpool, Manchester City and Arsenal in consecutive games.