Second-half goals from Andy Kirk and Phil Stamp handed Hearts their first win in five matches.
But the victory came at a cost with influential players Steven Pressley and Mark De Vries limping out of the action with recurring injuries.
In shocking weather conditions, it was half an hour before either side managed an effort on goal and it took a fine save from man of the match Craig Gordon to deny Kris Boyd the opener.
And seconds later, the young keeper did brilliantly to tip over a vicious long-range effort from Colin Nish.
But as half time approached, Hearts began to find their feet and both Stamp and Scott Severin tested Francois Dubourdeau in the Killie goal.
But Kilmarnock started the second half strongly and Stephen Murray was only inches away with a deflected 20-yarder, before Alan Maybury cleared off the line from Gary McDonald.
But Hearts grew in confidence as the game went on and Kirk nipped in between the Kilmarnock defenders to head home McKenna's cross in the 64th minute.
And as Hearts claimed for a penalty after Paul Hartley was upended in the box, Stamp played on and despatched a low 20-yarder in the bottom corner of the net to end any arguments about whether it was a penalty or not.
From that point, Hearts held on comfortably although Gary McSwegan did come off the bench to notch a consolation goal for Killie deep into injury time with a crisp 15-yard finish.