Defender Jonny Evans equalised just after the hour with his first goal for the Foxes, but Zaha quickly restored Palace's lead with a tap-in from McArthur's cross.
It was the first time in 19 years Leicester have lost four league games in a row at the King Power.
They have also gone six games without a win and have conceded the first goal in 19 matches, more than any other team.
"I understand the fans' feelings, they are disappointed," said Foxes boss Claude Puel. "It is a difficult period for my team.
"I would like the fans to keep their support for the players, to support all these young players in the next game. At this moment we are unlucky. They have the feeling that they are not getting fair results.
"When we look at just the results it is not enough, it is not normal. But when we look at the performances it is crazy in this period. It is difficult to accept.
"I manage the pressure, the most important thing is my players," he added.