The cool McCormack took his season's tally to 21 goals
A brace from Ross McCormack kept Cardiff on the automatic promotion trail after a fiery clash in London.
Nathanial Clyne bundled Joe Ledley over and McCormack coolly sent Palace keeper Julian Speroni the wrong way.
Physical challenges from the Eagles saw Michael Chopra injured, and when Claude Davis elbowed Roger Johnson out of the game a furious half-time row ensued.
Bosses Dave Jones and Neil Warnock were sent off, but Cardiff kept composure, McCormack scoring a superb late goal.
The Scotland striker cut inside Davis in injury time and drove an excellent left-foot shot across Speroni for his 21st goal of the season.
Bluebirds centre-back Johnson was taken to hospital after the game as a result of his throat injury, staying there overnight on Saturday as a precautionary measure.
Crystal Palace manager Neil Warnock:
"I don't really know why I was sent off. The referee said it was to calm things down and make both of us go up there.
"Your reputation goes ahead of you sometimes. But Dave was misinformed. Claude didn't elbow him. If anything, he ran into his arm.
"I don't think Claude will get done for that. There was no arm movement at all.
"Both teams wanted to win, and we didn't throw in the towel. But I like Cardiff. I hope they go up."
Cardiff manager Dave Jones: "I was not happy with what happened to one of my players.
"Go and get the video and see it for yourself. I didn't need the video to see what happened. Roger [Johnson] was left spitting blood and he's been sent to hospital.
"It would take a lot to force Roger off. He tried to go back on but he did not know what was happening.
"We have to go and see him in hospital. Roger was distressed at half-time and for him to go off, there must have been something wrong.
"If he went back onto the pitch, he would have looked around and got hold of the person who did it and throttled them."
Bookmark with:
What are these?