Jamie Vardy came off the bench to score the winner as Leicester won at Arsenal for the first time in 47 years to move back into the top four in the Premier League.
Mikel Arteta's side looked the brighter and more energetic in the first half, but with Pierre-Emerick Aubameyang struggling for form, failed to make it count in attack.
Alexandre Lacazette had a goal chalked off for offside in the fourth minute and then spurned a gilt-edged opportunity, failing to connect with a header from point-blank range, as Leicester rode their luck in the opening 45 minutes.
Arsenal struggled to create many clear-cut opportunities after the restart, though, as Brendan Rodgers' game plan to stifle them worked to a tee. On the one occasion they played through the Leicester defence, Hector Bellerin couldn't find a way past Kasper Schmeichel.
Summer signing Thomas Partey started for Arsenal
Image credit: Getty Images
Vardy was fit enough only for the bench as he continued his recovered from a calf injury, but the veteran striker came on with half an hour remaining and with Leicester growing in ambition, he headed the winner in the 80th minute after fellow substitute Cengiz Under set him up on a plate.
It proved to be the decisive goal as Leicester held on comfortably for their first win at Arsenal since 1973, and with it they move to fourth position, while Arsenal remain in 10th with three defeats after six games.
TALKING POINT - Arsenal's nemesis breaks their heart - again
When Vardy was introduced in the 60th minute, one sensed it was written in the script that the 33-year-old would score the winning goal. Vardy's record against the Gunners is something else: he now has 11 goals in his last 12 Premier League appearances against them.
It was obviously Rodgers' game plan to frustrate Arsenal and then introduce Vardy to hopefully nick a goal on the break. And it was executed with perfection as the veteran striker scored a typical goal, finishing with a header after a rapid Leicester counter-attack started by Youri Tielemans and assisted by Under. What a way for the Leicester boss to mark his 300th win as a manager.
While Vardy's potency is unquestionable, there are question marks about his counterpart. Arsenal have been left to rue Lacazette's profligacy. The Frenchman's early headed conversion arguably should have counted, but he offered little else to the team and Arsenal were made to pay for the sitter he missed in the first half.
Every striker suffers a barren run at some stage and after a phenomenal run of 73 goals in 117 matches, Aubameyang is finding life in the Premier League quite difficult at the moment. It is now five league games without a goal for the Arsenal skipper. He shouldn't have to carry all the responsibility all of the time, though. Arteta needs more from his other front players, particularly Lacazette, whose form has been worrying for quite some time now.
Image credit: Getty Images
MAN OF THE MATCH - Christian Fuchs (Leicester)
Leicester had to withstand a lot of pressure in the first half and Fuchs more than played his part as the right-sided defender in a back three to keep a clean sheet.
Arsenal: Leno 5, Bellerin 5, Luiz 7, Gabriel 6, Tierney 6, Xhaka 5, Partey 5, Ceballos 5, Saka 5, Lacazette 4, Aubameyang 5. Subs: Mustafi 4, Pepe 5.
Leicester: Schmeichel 7, Fofana 7, Evans 7, Fuchs 8, Castagne 7, Mendy 6, Praet 6, Justin 6, Tielemans 7, Barnes 6, Maddison 6. Subs: Under 7, Albrighton N/A, Vardy 8.
4' - Arsenal goal ruled out! Lacazette has the ball in the back of the net - but it's not going to count. Ceballos' corner delivery is whipped to the near post and Lacazette glances his header into the net. But the linesman's flag is raised. Aubameyang or maybe Xhaka is in an offside position and adjudged to be interfering with play.
29' - So close! Again David Luiz finds Tierney with his pass. His cross is begging to be slotted home by Lacazette, who from point-blank range, misses his connection and Fuchs helps it behind for a corner. That was a sitter!
68' - Good save! Much better from Arsenal! They get in behind Leicester for the first time since the restart, really. Aubameyang picks out Bellerin and his volleyed effort stings the gloves of Schmeichel.
80' - GOAAAALLLLLL! Arsenal 0-1 Leicester (Jamie Vardy): There he is! Vardy scores!!! He's in the right place at the right time as Leicester carve open the Arsenal defence, and Under unselfishly squares it to the veteran striker, who finishes with a diving header!
- Pierre-Emerick Aubameyang has gone five league matches without a goal for the first time since November 2014, while playing for Borussia Dortmund. His Expected Goals total of 0.43 ranks only 77th in the Premier League this campaign.