Match ends, Livingston 2, Heart of Midlothian 3.
Two goals in quick succession gave Hearts victory over Livingston and strengthened the Tynecastle side's place at the top of the Championship.
Género Zeefuik struck to give Hearts an early lead but Craig Sives levelled for bottom side Livi after the break.
Recent signing Kenny Anderson headed the visitors back into the lead and Jamie Walker struck their third.
Brad McKay was sent off for a foul on Myles Hippolyte and Kyle Jacobs converted Livi's consolation penalty.
Hearts open up a 19-point gap over Rangers, who have three games in hand and are in Scottish Cup action against Raith Rovers on Sunday.
- 14GallagherBooked at 45mins
- 3TalbotBooked at 45mins
- 8O'BrienBooked at 13minsSubstituted forPraprotnikat 83'minutes
- 6JacobsBooked at 27mins
- 18WhiteBooked at 26minsSubstituted forHippolyteat 80'minutes
- 22SekajjaBooked at 42minsSubstituted forPittmanat 86'minutes
- 2PatersonBooked at 56mins
- 5OzturkBooked at 45mins
- 11NicholsonSubstituted forAndersonat 45'minutes
- 14Pallardo Gonzalez
- 19KeatingsSubstituted forKingat 77'minutes
- 23ZeefuikSubstituted forMcKayat 89'minutesBooked at 90mins
- 9El Hassnaoui
- Brian Colvin
- Shots on Target
Second Half ends, Livingston 2, Heart of Midlothian 3.
Goal! Livingston 2, Heart of Midlothian 3. Kyle Jacobs (Livingston) converts the penalty with a right footed shot to the top left corner.
Brad McKay (Heart of Midlothian) is shown the red card.
Penalty Livingston. Myles Hippolyte draws a foul in the penalty area.
Penalty conceded by Brad McKay (Heart of Midlothian) after a foul in the penalty area.
Substitution, Heart of Midlothian. Brad McKay replaces Género Zeefuik.
Foul by Callum Fordyce (Livingston).
Jordan McGhee (Heart of Midlothian) wins a free kick on the right wing.
Substitution, Livingston. Scott Pittman replaces Ibra Sekajja.
Goal! Livingston 1, Heart of Midlothian 3. Jamie Walker (Heart of Midlothian) right footed shot from the right side of the box to the bottom left corner. Assisted by Billy King.
Substitution, Livingston. Nejc Praprotnik replaces Burton O'Brien.
Goal! Livingston 1, Heart of Midlothian 2. Kenny Anderson (Heart of Midlothian) header from the centre of the box to the bottom right corner. Assisted by Billy King.
Foul by Myles Hippolyte (Livingston).
Miguel Pallardó (Heart of Midlothian) wins a free kick in the defensive half.
Substitution, Livingston. Myles Hippolyte replaces Jordan White.
Hand ball by Kenny Anderson (Heart of Midlothian).
Substitution, Heart of Midlothian. Billy King replaces James Keatings.
Attempt missed. Jamie Walker (Heart of Midlothian) right footed shot from outside the box misses to the right.
Ibra Sekajja (Livingston) wins a free kick in the attacking half.