The Foxes started brightly but the Toffees landed a suckerpunch as Anthony Gordon burst down the left and pulled back for Richarlison who lashed home from eight yards out.
And six minutes later the visitors found themselves in more trouble. Wilfred Ndidi swiped a hand at a Lucas Digne cross, and after a lengthy VAR check Everton were awarded a penalty.
Everton's Richarlison celebrates scoring against Leicester
Image credit: Getty Images
Gylfi Sigurdsson was cool as ice from 13 yards, rolling the ball down the middle as Kasper Schmeichel dived left.
The hosts improved after the first-half water break but struggled to create any clear chances with Everton threatening a third on the counter. But Brendan Rodgers was quick to change things up at half time.
Just six minutes after the break, Leicester grabbed a goal after Mason Holgate smashed a clearance against substitute Kelechi Iheanacho's face, only to see the ball bounce past Jordan Pickford and into the net.
The visitors then pushed for an equaliser and came so close as James Maddison narrowly missed long-range efforts either side of a Seamus Coleman goal line clearance after a Pickford error.
But the hosts sat back and absorbed the pressure, nullifying the runs of Jamie Vardy by playing deep.
And their defensive heroics paid off as they grinded their way to victory despite the visitors' late onslaught, keeping their hopes of a Europa League spot alive. Leicester, meanwhile, loosen their grip on third spot with Manchester United and Chelsea lurking close behind.
What's happened to Leicester? The Foxes were a dead cert for a Champions League spot before the restart, but four games, two goals and no wins later and suddenly it all looks a little uncertain. They're not playing very well either. But for a ten minute spell in the second half, Everton dealt with the Foxes comfortably and Jamie Vardy barely had a touch of the ball all evening. Manchester United, Chelsea and maybe even Wolves are lurking just behind, ready to snatch third place off Leicester, and maybe even their spot in Europe's premiere competition.
MAN OF THE MATCH
Michael Keane (Everton): The Toffees had to grind it out in the second half but Keane kept things comfy at the back. The defender made 12 clearances, more than any other player in a Premier League match this season. Heroic stuff.
Everton: Pickford 5, Coleman 7, Holgate 6, Keane 8, Digne 6, Gomes 5, Gordon 7, Sigurdsson 7, Richarlison 7, Calvert-Lewin 6, Iwobi 5. Subs. Mina 6, Davies 5, Bernard 5.
10' - GOAL! Everton 1-0 Leicester (Richarlison). Out. Of. Nowhere. Everton's first piece of possession and they've scored. Gordon gets in behind the left for the Toffees and pulls back for Richarlison eight yards out who sweeps home.
15' - PENALTY GIVEN! After a very lengthy VAR check, Craig Pawson decides that Ndidi has swiped at the ball and Everton have a pen. Looked very marginal but a handball all the same. The Toffees first pen in 38 games.
16 - GOAL! Everton 2-0 Leicester (Sigurdsson). As cool as you like, Sigurdsson rolls it straight down the middle as Schmeichel dives left.
38' - CHANCE! Tielemans whacks a volley which is blocked by Holgate, but Evans almost pokes the rebound in but for a Schmeichel save! A hint of offside perhaps but the flag stayed down. Very close.
Image credit: Getty Images
50' CHANCE! Digne's effort from distance deflects off Holgate and Schmeichel has to push it round the post!
51' GOAL! Everton 2-1 Leicester (Iheanacho). The substitution pays off! It's chaos on the box after an Ndidi cross when Holgate smacks a clearance into Iheanacho's head only to see it dribble past Pickford. Leicester have one back! Game on.
62' CHANCES! It's all kicking off! First, Pickford fumbles a routine take and almost puts it into his own net but for a Coleman clearance off the line. Then, Maddison has another go from distance and it's a yard over the bar.
90+2' CHANCE! Vardy does brilliantly to make space down the right and he finds Perez in the box, but the Spaniard knocks it a yard wide! Was that the chance?