Zaha has been accused of diving several times this season and the Ivory Coast winger once again found himself in the spotlight for alleged gamesmanship at Vicarage Road.
He angered Watford when he tumbled theatrically in a failed bid to win a penalty following Abdoulaye Doucoure’s first half challenge.
Zaha escaped a booking for that incident but when he fell again in the Watford penalty area, this time after an Adrian Mariappa tackle, Kavanagh finally produced a yellow card.
The Palace player has been a hate figure to Watford fans since winning the controversial penalty that settled a Championship play-off final between the two clubs in 2015.
Last season, Watford mascot Harry the Hornet mocked Zaha by diving in front of him at the end of a league match at Vicarage Road.
Zaha’s antics couldn’t inspire Palace to the win that would have effectively sealed their Premier League status for another season.
The Eagles are now 15th, six points clear of the relegation zone with three games left.
Watford, without a victory from their past five, threatened in the fourth minute when the recalled Stefano Okaka beat James Tomkins to Troy Deeney’s cross and headed against the woodwork.
Deeney sent in a teasing cross that Palace’s Joel Ward turned towards goal to force goalkeeper Wayne Hennessey into a fine reaction save.
Palace improved in the second half, but couldn’t deliver the knockout blow.
Luka Milivojevic curled a fine free-kick against the woodwork after a foul on Zaha by Mariappa.
Palace’s final chance came in the 69th minute, when Tomkins headed against a post from Yohan Cabaye’s corner.