Vardy had missed the last two games with a calf injury but was the match-winner here – scoring his 11th Premier League goal against Arsenal, with only Wayne Rooney able to boast more.
Arsenal named a strong side and should have done better – but had an early effort controversially chalked off and then failed to make their dominance pay as Thomas Partey’s home debut ended in defeat.
Mikel Arteta thought his side had taken the lead as early as the third minute as Alexandre Lacazette headed home a Dani Ceballos corner at the front post.
An offside flag saw the effort ruled out, however, with Granit Xhaka deemed to have been interfering with play as he stood in front of Kasper Schmeichel.
Hector Bellerin should have done better when played in behind by David Luiz but he dallied in possession and allowed Jonny Evans to make up the ground and put in the challenge.
Arsenal attack
With Vardy warming the bench, the visitors were playing without an out and out striker and therefore most of the attacking threat in the opening half an hour came through Arsenal.
Kieran Tierney was a constant threat down the left flank, swinging in a number of dangerous crosses – one of which was inexplicably missed from point-blank range by Lacazette.
Luiz limped off soon after the restart to be replaced by Shkodran Mustafi before Leicester boss Brendan Rodgers turned to Vardy just before the hour.
Arsenal were lucky to keep a full quota of players on the pitch as Bellerin, already booked, slid in on James Justin.
Bukayo Saka had been carrying a knock since earlier in the second half, Arteta opting to bring on Nicolas Pepe in his place and shift Pierre-Emerick Aubameyang back to his more familiar role down the left.
It almost paid immediate dividends as the Gabon forward’s deep cross was volleyed goalwards by Bellerin, with Schmeichel making a smart save.
But the winning goal would come at the other end of the pitch as Leicester finally burst into life as an attacking force.
They would break the deadlock with their first effort on target of the evening, hitting on the counter-attack as their two substitutes combined.
Youri Tielemans’ ball over the top of the Arsenal defence set Cengiz Under in behind and he crossed perfectly for Vardy to head home what was almost an inevitable goal against the Gunners.
The former England striker almost struck again in injury time, breaking in behind but this time seeing his effort well-saved by Bernd Leno.
It would have no impact on the result, however, as Leicester secured their first-ever league win at the Emirates Stadium to move into the top four, just a point behind leaders Everton.