Match ends, Kilmarnock 4, Hearts 2.
Kris Boyd took his personal tally against Hearts to six for the season as Kilmarnock earned their third straight victory against the Tynecastle side.
Boyd's brace of strikes put Killie in control after the break.
Earlier, Dale Carrick's lob had cancelled out Danny Wilson's own goal to draw Hearts level.
Sam Nicholson brought the visitors back into the match at 3-2 but Michael Gardyne settled Killie's nerves.
Allan Johnston's side move up to eighth in the table - four points clear of second-bottom Ross County. Hearts remain 20 points adrift at the bottom, now with only nine fixtures to play.
Hearts defenders failed to learn from previous games and had no answer to Boyd.
However, an early Ryan Stevenson shot went wide as Hearts attempted to start quickly and put pressure on the home side, who came into the match without a win in five games.
Killie caused Hearts a problem when a Manuel Pascali header was almost met by fellow centre-half Lee Ashcroft but goalkeeper Jamie MacDonald intervened just in time.
The opening goal came as a result of a quick move by Kilmarnock with Rory McKenzie showing good pace on the right and firing a low cross that was diverted into the net by Wilson.
Hearts have been often down this season but they have retained a willing spirit and this was typified by their equaliser.
Ashcroft attempted to shepherd the ball back to the outrushing Craig Samson but Carrick snuck in to dig the ball over the keeper from the right edge of the area and into the unguarded goal.
It was all square at half-time but just six minutes into the second half the home side had scored twice and Hearts suddenly looked second best.
Boyd robbed Jamie Hamill on the edge of the box and coolly worked his way through the Hearts defence to place the ball beyond MacDonald.
And the hosts were celebrating again after Dylan McGowan failed to turn away a low cross and Boyd pounced to send the ball high into the net for his third double against Hearts this season.
Hearts substitute Billy King set up Nicholson to score with a low drive.
However, the visitors' hopes of a comeback were ended when Gardyne scored his first Kilmarnock goal. His initial shot struck the bar but Hearts could not clear and Gardyne neatly steered in Jeroen Tesselaar's return cross.
Boyd had his hat-trick hunt thwarted on several occasions but he will take satisfaction in again being the main difference between the sides.
- 26O'HaraBooked at 53mins
- 18McKenzieBooked at 35minsSubstituted forNicholsonat 66'minutes
- 25GardyneSubstituted forMuirheadat 85'minutes
- 14Moberg-KarlssonBooked at 73minsSubstituted forGrosat 87'minutes
- 12Reguero Chapinal
- 30McGheeBooked at 69minsSubstituted forMcKayat 86'minutes
- 3McHattieBooked at 22mins
- 12PatersonSubstituted forKingat 55'minutes
- 2HamillSubstituted forMcCallumat 61'minutes
- Euan Norris
- Shots on Target
Second Half ends, Kilmarnock 4, Hearts 2.
Corner, Hearts. Conceded by Lee Ashcroft.
Lee Ashcroft (Kilmarnock) wins a free kick in the attacking half.
Foul by Dale Carrick (Hearts).
Substitution, Kilmarnock. William Gros replaces David Moberg-Karlsson.
Substitution, Hearts. Brad McKay replaces Jordan McGhee.
Substitution, Kilmarnock. Robbie Muirhead replaces Michael Gardyne.
Corner, Kilmarnock. Conceded by Kevin McHattie.
Mark O'Hara (Kilmarnock) wins a free kick on the right wing.
Foul by Danny Wilson (Hearts).
Corner, Kilmarnock. Conceded by Paul McCallum.
David Moberg-Karlsson (Kilmarnock) wins a free kick on the left wing.
Foul by Ryan Stevenson (Hearts).
Foul by Manuel Pascali (Kilmarnock).
Jordan McGhee (Hearts) wins a free kick in the attacking half.
Corner, Kilmarnock. Conceded by Dylan McGowan.
Attempt blocked. Kevin McHattie (Hearts) right footed shot from outside the box is blocked.
Foul by Craig Slater (Kilmarnock).
Sam Nicholson (Hearts) wins a free kick in the defensive half.