Vardy fired the home side ahead after 13 minutes with a first-time volley from Marc Albrighton’s cross.
Leicester doubled their lead in first-half stoppage time, Wilfred Ndidi finding Riyad Mahrez who picked out the top corner from 20 yards.
Harry Kane converted Erik Lamela’s pass after 79 minutes for his 11th goal in 10 appearances against Leicester.
But the Foxes held on as fifth-placed Spurs lost a third successive Premier League away match for the first time since March 2014.
Leicester: 2 Dec v Burnley (H)
Spurs: 2 Dec v Watford (A)