With the two sides in action on Boxing Day, a total of 12 changes were made by both managers at Selhurst Park, with James Maddison a notable absentee from the Foxes squad and Jamie Vardy on the bench.
Palace dropped five of the players involved in the 3-0 loss at Aston Villa, three of them defenders.
James Tomkins, who had not started for Palace since February due to a thigh injury, was slow to react when Luke Thomas raced into the area and he brought the defender down.
Referee Graham Scott pointed to the spot but Guaita was the hero for the hosts with a strong right hand thwarting Iheanacho from 12 yards.
The hosts came out with better intent for the second period and further good work by Schlupp against his former club created an opening for Zaha, who fired over from 20 yards.
Palace opened the scoring in the 58th minute.
Zaha was fouled but managed to find Townsend in space on the right and picked himself up to get into the area in time to be found by his team-mate.
The Palace attacker showed excellent technique to volley past Kasper Schmeichel for his eighth goal of the season – doubling his 2019/20 tally only 16 league games into this campaign.
Eventually, Leicester found an equaliser through one of the four players to start against United two days earlier.
Barnes created a yard of space outside the area and drilled into the bottom corner – but no winner was forthcoming and the visitors had to settle for a point, although they do move up to second.