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.

Lineup, Bookings (5) & Substitutions (6)

Heart of Midlothian

  • 01 MacDonald
  • 05 McGowan
  • 03 McHattie
  • 07 Stevenson (King - 82' )
  • 16 McKay Booked
  • 04 Wilson
  • 12 Paterson
  • 02 Hamill Booked
  • 09 McCallum (Carrick - 52' )
  • 28 Nicholson
  • 08 Robinson Booked (Holt - 82' )

Substitutes

  • 13 Ridgers
  • 15 Holt
  • 18 Carrick
  • 19 King
  • 29 Oliver
  • 30 McGhee
  • 31 Beith

Celtic

  • 01 Forster
  • 02 Matthews
  • 21 Mulgrew Booked
  • 06 Biton
  • 04 Ambrose Emuobo
  • 05 van Dijk
  • 08 Brown
  • 15 Commons
  • 28 Griffiths Booked (Pukki - 68' )
  • 10 Stokes (Balde - 89' )
  • 25 Johansen (Boerrigter - 83' )

Substitutes

  • 09 Samaras
  • 11 Boerrigter
  • 17 Balde
  • 20 Pukki
  • 24 Zaluska
  • 31 Herron
  • 41 Fisher
Ref: Kevin Clancy
Att: 15,801

Match Stats

Shots

3 16

On target

2 6

Corners

4 7

Fouls

15 16

Live Text Commentary

Full time

Full Time Match ends, Hearts 0, Celtic 2.

90:00 +3:27 Full time

Full Time Second Half ends, Hearts 0, Celtic 2.

90:00 +2:51 Goal scored

Goal! 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é.

90:00 +1:00

Callum Paterson (Hearts) wins a free kick in the attacking half.

90:00 +0:57

Foul by Efe Ambrose (Celtic).

89:51

Foul by Callum Paterson (Hearts).

89:51

Scott Brown (Celtic) wins a free kick in the attacking half.

88:18 Substitution

Substitution Substitution, Celtic. Amido Baldé replaces Anthony Stokes.

87:14

Foul by Callum Paterson (Hearts).

87:14

Charlie Mulgrew (Celtic) wins a free kick in the defensive half.

85:28

Brad McKay (Hearts) wins a free kick in the attacking half.

85:28

Foul by Derk Boerrigter (Celtic).

84:17

Attempt missed. Virgil van Dijk (Celtic) header from the centre of the box is too high following a corner.

83:59

Corner, Celtic. Conceded by Jamie MacDonald.

83:46

Attempt saved. Derk Boerrigter (Celtic) right footed shot from the centre of the box is saved in the top centre of the goal.

82:50 Substitution

Substitution Substitution, Celtic. Derk Boerrigter replaces Stefan Johansen because of an injury.

81:10 Substitution

Substitution Substitution, Hearts. Billy King replaces Ryan Stevenson.

81:01 Substitution

Substitution Substitution, Hearts. Jason Holt replaces Scott Robinson.

79:14

Corner, Celtic. Conceded by Danny Wilson.

78:49

Attempt blocked. Teemu Pukki (Celtic) right footed shot from the centre of the box is blocked.

76:32

Corner, Hearts. Conceded by Virgil van Dijk.

74:41

Attempt missed. Sam Nicholson (Hearts) right footed shot from outside the box is high and wide to the right.

69:21 Booking

Booking Charlie Mulgrew (Celtic) is shown the yellow card.

69:14

Callum Paterson (Hearts) wins a free kick in the defensive half.

69:14

Foul by Charlie Mulgrew (Celtic).

67:27 Substitution

Substitution Substitution, Celtic. Teemu Pukki replaces Leigh Griffiths.

66:20

Callum Paterson (Hearts) wins a free kick in the attacking half.

66:20

Foul by Nir Biton (Celtic).

65:49 Booking

Booking Leigh Griffiths (Celtic) is shown the yellow card.

65:44

Sam Nicholson (Hearts) wins a free kick in the attacking half.

65:44

Foul by Leigh Griffiths (Celtic).

61:07

Attempt missed. Kris Commons (Celtic) left footed shot from outside the box is close, but misses to the right.

60:04 Booking

Booking Brad McKay (Hearts) is shown the yellow card.

60:00

Leigh Griffiths (Celtic) wins a free kick in the defensive half.

59:59

Foul by Brad McKay (Hearts).

57:18 Goal scored

Goal! Goal! Hearts 0, Celtic 1. Leigh Griffiths (Celtic) left footed shot from the centre of the box to the bottom right corner. Assisted by Anthony Stokes.

55:25

Corner, Hearts. Conceded by Efe Ambrose.

53:57

Foul by Callum Paterson (Hearts).

53:57

Charlie Mulgrew (Celtic) wins a free kick on the left wing.

53:27

Attempt saved. Anthony Stokes (Celtic) header from the left side of the six yard box is saved in the top centre of the goal.

52:56

Foul by Jamie Hamill (Hearts).

52:56

Scott Brown (Celtic) wins a free kick on the right wing.

51:51 Substitution

Substitution Substitution, Hearts. Dale Carrick replaces Paul McCallum because of an injury.

46:55

Attempt saved. Kris Commons (Celtic) left footed shot from outside the box is saved in the centre of the goal.

46:13

Foul by Jamie Hamill (Hearts).

46:13

Scott Brown (Celtic) wins a free kick in the attacking half.

45:49

Attempt saved. Ryan Stevenson (Hearts) right footed shot from outside the box is saved in the top centre of the goal.

45:00

Second Half begins Hearts 0, Celtic 0.

45:00 +1:04 Half time

Half Time First Half ends, Hearts 0, Celtic 0.

45:00 +0:57

Jamie Hamill (Hearts) wins a free kick in the attacking half.

45:00 +0:57

Foul by Leigh Griffiths (Celtic).

44:34

Foul by Paul McCallum (Hearts).

44:34

Scott Brown (Celtic) wins a free kick in the attacking half.

44:09

Callum Paterson (Hearts) wins a free kick in the attacking half.

44:09

Foul by Anthony Stokes (Celtic).

42:44

Foul by Kevin McHattie (Hearts).

42:44

Scott Brown (Celtic) wins a free kick on the left wing.

41:35

Paul McCallum (Hearts) wins a free kick in the attacking half.

41:35

Foul by Nir Biton (Celtic).

40:50

Attempt missed. Virgil van Dijk (Celtic) header from the centre of the box is too high following a corner.

40:31

Corner, Celtic. Conceded by Callum Paterson.

40:02

Corner, Celtic. Conceded by Brad McKay.

39:12 Booking

Booking Jamie Hamill (Hearts) is shown the yellow card.

39:04

Foul by Jamie Hamill (Hearts).

39:04

Scott Brown (Celtic) wins a free kick in the defensive half.

38:25

Attempt missed. Kris Commons (Celtic) right footed shot from outside the box is just a bit too high.

37:25 Booking

Booking Scott Robinson (Hearts) is shown the yellow card.

37:15

Foul by Scott Robinson (Hearts).

37:15

Stefan Johansen (Celtic) wins a free kick in the attacking half.

36:25

Paul McCallum (Hearts) wins a free kick in the defensive half.

36:25

Foul by Virgil van Dijk (Celtic).

36:09

Attempt saved. Kevin McHattie (Hearts) left footed shot from outside the box is saved in the top centre of the goal.

32:29

Foul by Paul McCallum (Hearts).

32:29

Virgil van Dijk (Celtic) wins a free kick in the attacking half.

31:53

Paul McCallum (Hearts) wins a free kick in the attacking half.

31:53

Foul by Kris Commons (Celtic).

29:18

Corner, Hearts. Conceded by Efe Ambrose.

28:37

Corner, Hearts. Conceded by Charlie Mulgrew.

27:42

Ryan Stevenson (Hearts) wins a free kick in the attacking half.

27:42

Foul by Kris Commons (Celtic).

26:55

Foul by Paul McCallum (Hearts).

26:55

Stefan Johansen (Celtic) wins a free kick in the attacking half.

25:07

Attempt missed. Nir Biton (Celtic) left footed shot from outside the box misses to the right.

24:21

Attempt missed. Scott Brown (Celtic) left footed shot from outside the box is too high.

24:11

Attempt blocked. Leigh Griffiths (Celtic) left footed shot from the centre of the box is blocked.

22:56

Attempt missed. Virgil van Dijk (Celtic) right footed shot from outside the box is close, but misses to the left from a direct free kick.

22:11

Foul by Jamie Hamill (Hearts).

22:11

Kris Commons (Celtic) wins a free kick in the defensive half.

20:57

Corner, Celtic. Conceded by Dylan McGowan.

20:36

Attempt blocked. Anthony Stokes (Celtic) left footed shot from the centre of the box is blocked.

19:03

Attempt saved. Scott Brown (Celtic) right footed shot from outside the box is saved in the centre of the goal.

18:31

Anthony Stokes (Celtic) wins a free kick in the defensive half.

18:31

Foul by Dylan McGowan (Hearts).

14:48

Foul by Scott Brown (Celtic).

14:48

Scott Robinson (Hearts) wins a free kick in the defensive half.

13:45

Corner, Celtic. Conceded by Danny Wilson.

10:22

Foul by Virgil van Dijk (Celtic).

10:22

Paul McCallum (Hearts) wins a free kick in the attacking half.

8:49

Corner, Celtic. Conceded by Dylan McGowan.

7:57

Nir Biton (Celtic) wins a free kick in the attacking half.

7:57

Foul by Paul McCallum (Hearts).

6:18

Foul by Anthony Stokes (Celtic).

6:18

Danny Wilson (Hearts) wins a free kick in the attacking half.

1:25

Foul by Nir Biton (Celtic).

1:25

Paul McCallum (Hearts) wins a free kick in the defensive half.

1:02

Foul by Scott Brown (Celtic).

1:02

Jamie Hamill (Hearts) wins a free kick in the attacking half.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers