Vardy produced a slotted finish in the 58th minute to punish a mistake by Michael Keane.
In a contest that was low on entertainment, Everton went close during the first-half when Jonjoe Kenny fired against the frame of the goal.
The Toffees did not register their first effort on target until substitute Cenk Tosun brought a save out of Kasper Schmeichel in the 75th minute.
Leicester moved up a place in the table to seventh, three places and four points above Everton, who have won only one of their last eight games and heard boos from supporters at the final whistle.
The changes Everton boss Marco Silva made to his starting line-up from Saturday's 1-0 defeat at Brighton saw three adjustments in personnel and the defence revert to a back four.
Kenny was among those coming in, replacing Seamus Coleman at right-back to make his first appearance since the 2-1 win at Leicester in early October.
The Foxes' XI showed four changes from their 1-0 loss to Cardiff, with James Maddison one of the players dropped to the bench by Claude Puel.
The contest began in very scrappy fashion, with both sides struggling to produce any quality while plenty of passes were being misplaced. A shot by Vardy, skewed into the stand, was the only real moment of note.
Everton subsequently began to find some rhythm and in the 19th minute Kenny received the ball from Lucas Digne and cracked it against the corner of the goalframe.
Dominic Calvert-Lewin then headed wide from Kenny's cross, before Rachid Ghezzal's shot was comfortably dealt with by Jordan Pickford at the other end.
After Richarlison received treatment following a challenge by Jonny Evans, Kurt Zouma twice tried his luck on the Leicester goal, sending a header to Schmeichel and hitting a shot over the bar.
Puel's men responded with Ghezzal volleying over, Evans' header being caught by Pickford and Ricardo Pereira firing off target as an underwhelming first half neared a conclusion.
The visitors then grabbed the lead just before the hour mark when Keane lost possession, Pereira played a through-ball and Vardy struck past Pickford.
Gylfi Sigurdsson put an effort over soon after as Everton looked to make a quick reply and Richarlison then had a shot deflect behind before Tosun, who had come on for Theo Walcott in the 70th minute, stung Schmeichel's palms with a fierce strike.
Referee Martin Atkinson then waved away claims from Leicester that they should be awarded a penalty for a handball by Keane, and moments later Harry Maguire sent the ball over the hosts' crossbar from a great position, although the flag was up for offside.
Tosun was denied by Schmeichel again in stoppage time before Atkinson brought the contest to a close and Everton fans made their frustration known.