You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
Everton grabbed the lead in the 10th minute when 19-year-old Anthony Gordon did well on the left, pulling the ball back and into the path of Brazilian Richarlison who slotted home.
Carlo Ancelotti's side doubled their lead, in controversial circumstances, when Michael Keane and Wilfred Ndidi challenged for a header in the box and after a long VAR review, referee David Coote ruled the Leicester midfielder had handled the ball.
Gylfi Sigurdsson confidently converted from the spot -- Everton's first penalty of the season -- and with his side 2-0 down at the break, Leicester manager Brendan Rodgers made a double change with James Maddison and Kelechi Iheanacho introduced.
The switch had a swift impact with the visitors pulling one back six minutes after the restart, when Jamie Vardy caused panic in the Everton box, Iheanacho sought the loose ball and Mason Holgate's clearance hit him and flew past Jordan Pickford.
England keeper Pickford then survived a scare when he fumbled a low cross from Marc Albrighton but Keane was alert to clear the ball off the line.
But although Leicester were on top for stretches of the second half, they struggled to create openings against an Everton defence that was well-marshalled by Keane.
The Foxes had looked a safe bet for qualification for the Champions League but need to quickly get back to winning ways after two draws and a loss since the resumption.
"I assume the responsibility for the results. That’s what I’m here to do," said Rodgers, who side host Crystal Palace on Saturday (local time).
"We’re in a strong position. We still have it within our hands to achieve what would be a dream for us. Since we’ve come back we’ve not got the performance right. The second half was better. We need to win on Saturday."
Ancelotti said he was not giving up hope of a late push for a Europa League slot.
"There are a lot of teams involved. We are happy to be involved and would like to be so until the last minute of the last game," said the Italian.
Leicester stayed on 55 points, one more than fourth-placed Chelsea who play West Ham United later on Wednesday.
Everton moved up to 11th on 44 points and they are unbeaten in nine Premier League matches at Goodison Park – seven of those since Ancelotti took over as manager.