Vardy was a 60th-minute substitute after returning from injury, and with 10 minutes left he headed in from a cross by Cengiz Under after the Turkish midfielder was played through by Youri Tielemans.
Early on, Alexandre Lacazette's flicked header for Arsenal was ruled out for offside, before Bukayo Saka's shot from an angle was saved by Kasper Schmeichel. Lacazette also passed up two further chances in the first half.
After the break, Hector Bellerin's volley was saved by Schmeichel following good work by Pierre-Emerick Aubameyang.
Soon after coming on, Vardy created an opening for fellow substitute Under, whose touch let him down.
But Vardy's 11th goal in 12 league meetings with Arsenal leaves Leicester in fourth on 12 points, one point behind leaders Everton.
Arsenal are 10th on nine points.
Budweiser King of the Match: Jamie Vardy
Arsenal: 1 Nov v Man Utd (A)
Leicester: 2 Nov v Leeds (A)