Vardy, 33, had missed two games with a calf injury but was reintroduced after a largely sterile opening hour at Emirates Stadium and promptly ended a 262-minute Leicester goal drought in the league.
The former England international headed home fellow substitute Cengiz Under’s smart pass to bring up a remarkable 11th Premier League goal against Arsenal in 12 appearances. Only Wayne Rooney, with 12, has more goals.
Until Vardy’s arrival Leicester had barely threatened but they have now won their opening three away league games for the first time.
Arsenal were disappointing and, despite dominating possession and having 12 shots on goal, never looked like seriously testing Leicester goalkeeper Kasper Schmeichel as they slipped to a first home league defeat of 2020.
Arsenal manager Mikel Arteta criticised the decision to disallow an Alexandre Lacazette header for offside early in the first half.
“I’m really disappointed. We had it in our hands in the first half and I don’t know how the hell the goal was disallowed.
“They caught us with space at the back and in that moment we lost the game.”
The scourge of Arsenal
Four summers ago Arsenal tried to prise Vardy away from Leicester and he continues to pile on the regret with every game.
He had only 11 touches after replacing Dennis Praet, but still scored the winner and was only denied a second by the head of Bernd Leno as he raced through on goal late on.
Leicester lined up with no forward at all in his absence, with winger Harvey Barnes nominally playing up front, and their lack of cutting edge meant James Maddison had all four of their efforts, all from outside the area, before number nine Vardy came on.
Their improvement was as marked as it was predictable with Vardy on the field, and it was no surprise when they grabbed the lead.
Youri Tielemans’ excellent pass over the top freed Under, and he squared for the free Vardy to score with a stooping header.
There is no more clinical player in the Premier League. Vardy has scored six goals from just nine shots this season – 20 fewer than Liverpool’s Mohamed Salah and one fewer than the champions’ full-back Trent Alexander-Arnold.
Last season Leicester capitulated from a position which seemed certain to deliver Champions League football, when they were 14 points ahead of Manchester United at the start of February. Could they seal the deal this time around?
Predictable Gunners firing blanks
Arsenal thought they had scored in the opening minutes when Lacazette headed in from a corner, but Granit Xhaka and Pierre-Emerick Aubameyang were both offside.
From that point Arsenal controlled the game for the most part, but, despite Kieran Tierney raiding with intent down the left, they struggled to bust open the organised visitors.
Arsenal had 11 shots in the first half but Schmeichel’s only save of note came from the one effort after the break, pushing out a decent volley from Hector Bellerin.
Aubameyang, who has now gone five Premier League games without a goal for the first time, was largely anonymous.
Thomas Partey made a much-vaunted full league debut in midfield but was not alone in failing to shine as Arsenal moved the ball painfully slowly at times.
They have scored only eight goals in six league games this season. They have managed fewer at this stage in one of the previous 20 campaigns, when they scored five goals in 2015-16.
‘We deserved it’ – what they said
Arsenal boss Mikel Arteta told BBC Sport: “The game the way it went, I felt we had total control in the first half and restricted them to nothing. We were winning every ball, created a few chances and scored a goal I don’t know how it got disallowed. They defended deeper in the second half, waiting for the mistake and in one moment they did it,
“Against this block, against well-organised teams, when you open them up you have to put the ball in the back of the net. They were similar against Manchester City, they scored with two set-pieces and credit to them for what they have done but our players responded and I feel sorry for them.”
Leicester manager Brendan Rodgers “The boys were outstanding – against top quality players, you have to deny them space. You set up slightly different for the game. They executed it really well.
“We deserved it, we played against a really good side and have players who can run in behind. To keep a clean sheet and play with the quality and calmness was good.”
28th time lucky – the stats
- Leicester picked up their first win at Arsenal since September 1973, ending a run of 27 games in all competitions.
- This was Leicester’s fourth victory in the Premier League this season, their joint-highest after six games of a top-flight campaign, having also won four of their opening six in 2000-01.
- Arsenal striker Pierre-Emerick Aubameyang has gone five league matches without a goal for the first time since November 2014, while playing for Borussia Dortmund.
- Bukayo Saka made his 50th appearance for Arsenal, with 31 of those coming in the 38 games the Gunners have played under Mikel Arteta.