Brendan Rodgers' team struggled to create chances at Selhurst Park, but showed the type of resolve and quality needed at crucial moments to move above Chelsea and back up to third in the table.
It was an ultimately disappointing afternoon for Roy Hodgson's Eagles, who have now gone three games without a win during a tricky run of fixtures.
— Premier League (@premierleague) November 3, 2019
Vicente Guaita was back in goal for Palace after missing the matches with Manchester City and Arsenal due to a slight groin injury and he was called into action after five minutes, but Harvey Barnes' curling effort was routine for the Spaniard.
Both teams were in the top six before the weekend's action got underway, but quality was lacking during the opening exchanges with several passes misplaced.
Leicester produced a moment of genuine class in the 18th minute when Barnes' flick took two Palace players out of the game and James Maddison's pass with the outside of his boot sent Vardy away, but Guaita made himself big and denied the forward an opener.
Kasper Schmeichel was the centre of attention not long after, but not for a save. He had to kick away several objects being chucked onto the pitch from fans in the Holmesdale End.
It was one of the main talking points of a dull first half in south London, with the two sides cancelling each other out.
Palace did finish strongly with Jeffrey Schlupp's deflected effort tipped over by old team-mate Schmeichel before Jonny Evans got his face in the way of Luka Milivojevic's low effort.
Evans picked up a yellow card three minutes into the second half when he cynically brought down the rampaging Cheikhou Kouyate and Wilfried Zaha – on his 300th league appearance – curled wide moments later.
Both sides had more purpose about their play and Guaita stopped Evans from breaking the deadlock with 56 minutes played with a fine save from his bullet header.
It was temporary respite for Palace, though, as Leicester did take the lead a minute later through their other centre back.
Maddison's corner could only be flicked on by Eagles defender Patrick Van Aanholt at the front post and Soyuncu stooped low to head past Guaita.
The contest at Selhurst Park had become a lot more open and Schlupp almost produced a leveller with 20 to go, but Ben Chilwell deflected his shot wide with his knee.
Hodgson introduced Christian Benteke and Max Meyer in an attempt to force an equaliser, but Leicester brought on Demarai Gray and Wes Morgan and the former helped them wrap up the points in the 88th minute.
Gray found Vardy in the area and the former England striker rifled in on the turn for his 10th goal of the season as the Foxes made it four consecutive wins with a professional performance in the capital.