Chances were slim in the first half although Marc Albrighton did brilliantly in the eighth minute to create space for a shot.
His effort from outside of the box struck the inside of the post and rebounded to Riyad Mahrez eight yards out, but he narrowly dragged his shot wide.
The second half was a marked improvement but again chances were few and far between. However, man-of-the-moment Vardy does not need many chances and when Mahrez slotted him through on goal in the 59th minute he was able to dink the ball over the onrushing Wayne Hennessey before slamming it into the roof of the net.
Palace rallied after going behind and had a couple of chances. Bakary Sako saw a shot well saved by Kasper Schmeichel while Scott Dann's header was cleared off the line by Christian Fuchs in the 78th minute.
Palace winger Wilfried Zaha was then booked for simulation in the 87th minute, although it did look as if there was contact with Fuchs and another referee could have been quite easily given a penalty.
But it was Vardy's afternoon as he scored for the 10th time in the Premier League this season as the England man netted for the seventh league match in a row.