Leicester City moved a point clear of Arsenal and Manchester City at the top of the Premier League, but will rue their failure to see off Aston Villa, with whom they drew 1-1, knowing the Gunners will overtake them by avoiding defeat at Stoke City on Sunday.
Sjinji Okazaki bundled the game's opening goal in the 28th minute after Jamie Vardy's audacious attempt was saved by Mark Bunn, who then denied Riyad Mahrez from the penalty spot to keep Villa in it.
The Premier League's bottom side improved after the break and could have had a spot-kick of their own when Libor Kozak was floored by Robert Huth around the hour mark.
Danny Drinkwater then missed a glorious opportunity to give Leicester a more commanding lead, before substitute Rudy Gestede drew the hosts level with 15 minutes remaining.
And it wasn't long until Leicester made them pay. Schmeichel's kick was almost the perfect assist for Vardy, whose deft flick drew a good save from the retreating Bunn, only for Okazaki to turn home the rebound despite the goalkeeper's swift reactions.
Leicester should have doubled their lead moments later, when Mahrez's shot was foiled by Aly Cissokho's raised arm at near point-blank range. Referee Roger East pointed to the spot, but the Algerian, who missed a penalty against Bournemouth two weeks ago, did likewise here; Bunn's outstretched leg denying him in the centre of the goal.
Villa returned for the second half the stronger. Cissokho's well-struck drive required pushing away by Schmeichel, while Huth was again fortunate not to concede after catching Kozak with a flailing elbow in the box.
Leandro Bacuna should have done better after being teed up by Jordan Ayew midway through the half, before