Hearts restored their five-point lead at the top of the SPL with their sixth straight win of the season.
Rudi Skacel's close-range header, his sixth goal in six games, got the ball rolling and Andy Webster headed the second as Hearts started well.
Paul Hartley tapped in a third from six yards before Paul Dalglish reduced the deficit before half time, forcing the ball into the net from close range.
Hartley sealed the win with a penalty after Jamie McAllister was fouled.
Hearts enjoyed all the early pressure and it was no great surprise when they opened the scoring after 11 minutes.
It was even less of a surprise that the man who got the goal was Skacel.
The Czech midfielder headed into the unguarded net after Hartley had directed Roman Bednar's cross back across goal.
Edgaras Jankauskas almost doubled the lead midway through the half when he met Steven Pressley's cross beyond the back post, but his shot from a tight angle was well kept out by Roddy McKenzie.
But Hearts did go two goals up after 26 minutes. McAllister curled in a free kick from the right and Webster took advantage of poor marking by Dave Mackay to head past McKenzie.
Rudi Skacel celebrates his sixth goal in six games
The first threat to the Hearts goal almost brought about a goal, but Craig Gordon did brilliantly to push Mackay's shot on the turn round the post.
Shortly afterwards Hearts made it 3-0. Bednar broke free on the right and his perfectly judged square-ball gave Hartley a tap-in.
Gordon pulled off another terrific save just before half-time, stretching to tip Graham Barrett's top-corner-bound free kick onto the bar and over.
But the keeper may feel he should have held a driven free kick from Barrett moments later. Instead he spilled the effort, allowing Dalglish to bundle the ball over the line.
Livi might have pulled another goal back just after the break when Neil Barrett headed just over the bar, and then Dalglish poked a great chance wide with just Gordon to beat.
Hearts had started the second half poorly, but they extended their lead after 63 minutes when Neil Barrett was adjudged to have pulled the shirt of McAllister in the box and Hartley sent McKenzie the wrong way from the penalty spot.
Bednar could have got on the scoresheet with 15 minutes remaining but his glancing header from Robbie Neilson's cross flew just wide.
Gordon produced his third excellent save of the game when he pushed a Derek Adams volley over the bar despite being on the ground as the result of a prior challenge.
Livingston: McKenzie, Dorado, Boyd, Mackay, Brittain, Neil Barrett (Scott 64), Vincze, Adams, Dair (Snodgrass 70), Graham Barrett, Dalglish (McPake 58).
Subs Not Used: Roy, Walker, Strong, Pereira.
Booked: Brittain, Dorado, Neil Barrett, Scott.
Goal: Dalglish 45.
Hearts: Gordon, Neilson, Fyssas, Pressley, Webster, Skacel (Cesnauskis 84), Jankauskas (Simmons 58), Hartley, Bednar, McAllister (Wallace 81), Brellier.
Subs Not Used: Banks, Camazzola, Berra, Elliot.
Goals: Skacel 11, Webster 27, Hartley 34, 63 pen.
Ref: Dougie McDonald