Match ends, Hearts 0, Celtic 2.
Hearts 0-2 Celtic
Celtic extended their lead at the top of the Premiership table to 24 points with victory against Hearts.
Leigh Griffiths netted his first goal since arriving from Wolves in January with a superb second-half strike.
And, in the final minute of added time, Teemu Pukki converted Amido Balde's square pass to secure the win.
Earlier in the match, Bobby Clark's league record of 1,115 minutes without conceding a goal was broken by Celtic goalkeeper Fraser Forster.
The England cap has not conceded a Scottish Premiership goal since November and Neil Lennon's league leaders are now unbeaten in 29 top-flight matches, a record stretching back to last season.
Hearts remain rooted to the foot of the table on just six points but can take some consolation from holding Celtic for much of the opening hour.
The visitors had the better opportunities, though, and caused problems from the early stages.
Charlie Mulgrew's cross from the left put the Hearts defence under pressure, but Anthony Stokes failed to meet the ball inside the six-yard box.
Former Hibernian striker Griffiths, on his first trip back to the capital, made an impressive solo run down the right, but could not make the final ball count.
When Kris Commons was felled on the edge of the Hearts penalty area, Virgil van Dijk stepped up to fire in the free-kick but his shot edged wide of Jamie MacDonald's right-hand post.
Moments later, a Griffiths shot from was 18 yards was blocked by Danny Wilson, then Scott Brown pounced on the rebound but sent his long-range effort over the crossbar.
Hearts had a chance to prevent Forster from breaking Clark's record when Callum Paterson tried to set up Paul McCallum inside the penalty area, but the Englishman failed to make up the distance and instead conceded a foul.
It was a rare foray forward for the hosts but, as half-time approached, Paterson expressed frustration that referee Kevin Clancy failed to award Hearts a penalty. However, replays demonstrated he was brought down by his own team-mate.
Celtic's relentless pressure was rewarded near the hour mark when Griffiths found the net with a fine solo effort, turning Wilson inside-out before firing in a left-footed shot across the helpless MacDonald.
Dale Carrick's powerful drive from the edge of the Celtic penalty area was blocked by Nir Biton, and the substitute was unlucky with two efforts in quick succession as Hearts searched in vain for a leveller.
Celtic remained a threat, though. Commons contrived to send another shot wide of the mark then Derk Boerrigter's side-footed shot from six yards was denied by a fine MacDonald save.
Forster experienced a few nervous moments before confirming his 13th consecutive league clean sheet but the final say was left to Pukki, who was handed a golden opportunity by fellow substitute Balde and slotted calmly past MacDonald from the middle of the penalty area.
- 7StevensonSubstituted forKingat 82'minutes
- 16McKayBooked at 61mins
- 2HamillBooked at 40mins
- 9McCallumSubstituted forCarrickat 52'minutes
- 8RobinsonBooked at 38minsSubstituted forHoltat 82'minutes
- 21MulgrewBooked at 70mins
- 5van Dijk
- 28GriffithsBooked at 66minsSubstituted forPukkiat 68'minutes
- 10StokesSubstituted forBaldeat 89'minutes
- 25JohansenSubstituted forBoerrigterat 83'minutes
- Kevin Clancy
- Shots on Target
Second Half ends, Hearts 0, Celtic 2.
Goal! Hearts 0, Celtic 2. Teemu Pukki (Celtic) right footed shot from the centre of the box to the bottom right corner. Assisted by Amido Baldé.
Callum Paterson (Hearts) wins a free kick in the attacking half.
Foul by Efe Ambrose (Celtic).
Foul by Callum Paterson (Hearts).
Scott Brown (Celtic) wins a free kick in the attacking half.
Substitution, Celtic. Amido Baldé replaces Anthony Stokes.
Foul by Callum Paterson (Hearts).
Charlie Mulgrew (Celtic) wins a free kick in the defensive half.
Brad McKay (Hearts) wins a free kick in the attacking half.
Foul by Derk Boerrigter (Celtic).
Attempt missed. Virgil van Dijk (Celtic) header from the centre of the box is too high following a corner.
Corner, Celtic. Conceded by Jamie MacDonald.
Attempt saved. Derk Boerrigter (Celtic) right footed shot from the centre of the box is saved in the top centre of the goal.
Substitution, Celtic. Derk Boerrigter replaces Stefan Johansen because of an injury.
Substitution, Hearts. Billy King replaces Ryan Stevenson.
Substitution, Hearts. Jason Holt replaces Scott Robinson.
Corner, Celtic. Conceded by Danny Wilson.
Attempt blocked. Teemu Pukki (Celtic) right footed shot from the centre of the box is blocked.