Anthony Stokes scored one goal and set up two more as Celtic showed sufficient class to overcome Hearts' youthful enthusiasm at Tynecastle.

Hearts strongly contested the 19th-minute penalty tucked away by Kris Commons after Stokes' header struck the hand of defender Jamie Hamill.

Jason Holt's low drive levelled the game 13 minutes after the break.

But Stokes fired Celtic back in front then teed up Teemu Pukki for a headed third on his debut from the bench.

It was the reigning champions' third straight domestic away win and stretched their unbeaten run to four games since losing the first leg of their Champions League qualifier against Shakhter Karagandy.

The three points took the second-placed Celtic level on points with Inverness Caledonian Thistle ahead of the Highlanders' visit to Kilmarnock.

Teemu Pukki and Anthony Stokes celebrate at Tynecastle

Pukki and Stokes combined for Celtic's third goal against Hearts at Tynecastle

And they were rewarded for Celtic manager Neil Lennon fielding a strong, unchanged side despite the proximity of Wednesday's Champions League group stage opener away to AC Milan.

There was also a continuation of the fine form shown by Scott Brown with Scotland as he dictated early play from midfield balanced heavily in favour of the visitors.

Celtic's flowing football was easy on the eye, but Hearts' defence, outclassed by leaders Inverness before the international break, had been bolstered by suspension-free Danny Wilson and Kevin McHattie and were preventing clear-cut chances.

Hearts looked lively on the break and, a free-kick having been won wide on the right, McHattie's whipped ball into the six-yard box was pushed nervously clear by goalkeeper Fraser Forster as it curled towards the far corner.

Dutch winger Derk Boerrigter was firing some dangerous crosses into the Hearts penalty box and one found Commons in space 12 yards out, but the volley powered well over the crossbar.

Home striker Callum Paterson was left bloodied by a forearm smash into his nose from Stokes that referee Collum ruled was accidental.

Hearts were seeing red again minutes later when Hamill conceded a controversial penalty for the second game running.

The experienced midfielder had his red card against Inverness overturned as television footage showed it had struck his head.

There was no question this time that Stokes' header deflected off Hamill's arm after a bit of penalty box wrestling, but Hearts will argue it is was certainly not a deliberate movement towards the ball and debatable whether the effort was a threat to the goal.

Commons wrong-footed Jamie MacDonald from the penalty spot and soon turned provider with a precise low pass behind the defence that was tucked away by Stokes, but the striker was marginally offside.

MacDonald did well to palm away a powerful 20-yard drive from Matthews, but the full-back again shining as a midfielder was to hobble off soon after.

The Welshman was the victim of a superb last-gasp tackle from Wilson and could be a worry for Celtic's trip to Italy.

Hearts had been shot shy on their rare sights at goal, but that changed after the break when McHattie's effort was deflected to Holt on the edge of the box and Scotland Under-21 midfielder low drive through a sea of legs evaded Forster's outstretched toe.

Home joy only lasted six minutes as Commons' header pierced the Hearts rearguard and Stokes sped clear to poke the ball past MacDonald.

There were muted shouts for a penalty by the home side, but they never looked like recording a third straight home win against a side that has now fired 11 goals past them in the last three meetings.

Celtic's icing on the cake came when Stokes' clever flick over goalkeeper MacDonald gave recent signing Pukki the chance to mark his arrival moments earlier with a simple finish.

Lineup, Bookings (5) & Substitutions (6)

Hearts

  • 01 MacDonald
  • 03 McHattie
  • 04 Wilson
  • 05 McGowan
  • 16 McKay
  • 02 Hamill Booked
  • 08 Robinson Booked
  • 14 Walker (Oliver - 82' )
  • 15 Holt (Carrick - 74' )
  • 12 Paterson
  • 19 B King (Smith - 67' )

Substitutes

  • 13 Ridgers
  • 30 McGhee
  • 17 Smith
  • 20 Tapping
  • 28 Nicholson
  • 18 Carrick
  • 29 Oliver

Celtic

  • 01 Forster
  • 03 Izaguirre Booked
  • 04 Ambrose
  • 05 van Dijk Booked
  • 23 Lustig
  • 02 Matthews (Samaras - 44' )
  • 08 Brown
  • 11 Boerrigter
  • 16 Ledley (Mulgrew - 66' )
  • 10 Stokes Booked
  • 15 Commons (Pukki - 74' )

Substitutes

  • 24 Zaluska
  • 21 Mulgrew
  • 18 Rogic
  • 37 Atajic
  • 09 Samaras
  • 17 Balde
  • 20 Pukki
Ref: Collum
Att: 15,928

Match Stats

Shots

6 10

On target

3 4

Corners

2 11

Fouls

9 13

Live Text Commentary

90:00 +3:04 Full time

Full Time The referee brings the game to a close.

90:00 +2:44

Corner taken by Anthony Stokes from the left by-line.

90:00 +2:12

Corner from the left by-line taken by Anthony Stokes.

90:00 +1:41

Mikael Lustig restarts play with the free kick.

90:00 +1:14

Scott Robinson is shown a yellow card.

90:00 +1:14 Booking

Booking

90:00 +1:08

Free kick awarded for a foul by Scott Robinson on Scott Brown.

90:00 +0:03

The ball is swung over by Anthony Stokes.

88:01

Efe Ambrose restarts play with the free kick.

87:45

Foul by Scott Robinson on Scott Brown, free kick awarded.

86:35

Mikael Lustig makes a clearance.

86:32

Jamie Hamill crosses the ball in from the free kick.

86:27

Georgios Samaras concedes a free kick for a foul on Jamie Hamill.

85:55

Assist on the goal came from Anthony Stokes.

85:55 Goal scored

Goal! - Teemu Pukki - Hearts 1 - 3 Celtic Teemu Pukki scores. Hearts 1-3 Celtic.

84:57

Clearance made by Virgil van Dijk.

84:54

Free kick crossed by Jamie Hamill.

84:40

Teemu Pukki gives away a free kick for an unfair challenge on Danny Wilson.

83:39

Shot by Virgil van Dijk went over the crossbar.

83:28

Corner taken by Anthony Stokes from the left by-line.

82:17

Fraser Forster takes the free kick.

81:56

Kevin McHattie challenges Scott Brown unfairly and gives away a free kick.

81:37 Substitution

Substitution Gary Oliver comes on in place of Jamie Walker.

80:36

Corner from the right by-line taken by Charlie Mulgrew.

80:09

Scott Robinson makes a clearance.

80:05

Corner taken by Charlie Mulgrew.

76:55

Emilio Izaguirre produces a cross.

75:50

The ball is crossed by Mikael Lustig.

73:44 Substitution

Substitution Jason Holt leaves the field to be replaced by Dale Carrick.

73:29 Substitution

Substitution Teemu Pukki comes on in place of Kris Commons.

72:35

Georgios Samaras takes a shot and goes over the bar.

72:31

Derk Boerrigter sends in a cross.

72:07 Substitution

Substitution Jason Holt goes off and Callum Tapping comes on.

71:14

The ball is sent over by Emilio Izaguirre.

71:03

Clearance by Callum Paterson.

70:58

Corner taken by Charlie Mulgrew from the right by-line.

70:23

Clearance by Danny Wilson.

70:20

Corner from the right by-line taken by Charlie Mulgrew.

69:50

Emilio Izaguirre takes a shot.

67:36

Jamie Hamill restarts play with the free kick.

67:18

Free kick awarded for an unfair challenge on Jamie Hamill by Charlie Mulgrew.

66:41

Chance falls to David Smith who heads at goal. Fraser Forster catches the ball.

66:05 Substitution

Substitution David Smith replaces Billy King.

65:52 Substitution

Substitution Charlie Mulgrew joins the action as a substitute, replacing Joe Ledley.

64:47 Booking

Booking

64:47

Anthony Stokes shown a yellow card.

64:06

Kris Commons provided the assist for the goal.

64:06 Goal scored

Goal! - Anthony Stokes - Hearts 1 - 2 Celtic Anthony Stokes scores with a right foot finish. Hearts 1-2 Celtic.

61:48

Jamie Hamill produces a strike on goal direct from the free kick. Scott Brown gets a block in.

61:06 Booking

Booking

61:06

Booking for Virgil van Dijk.

61:03

Virgil van Dijk challenges Billy King unfairly and gives away a free kick.

57:17

The assist for the goal came from Jamie Walker.

57:17 Goal scored

Goal! - Jason Holt - Hearts 1 - 1 Celtic Jason Holt grabs a goal with a right foot finish. Hearts 1-1 Celtic.

55:02

Clearance made by Danny Wilson.

54:59

Georgios Samaras crosses the ball.

53:56

Clearance by Danny Wilson.

53:54

Free kick crossed by Virgil van Dijk.

53:33

Unfair challenge on Emilio Izaguirre by Scott Robinson results in a free kick.

52:37

Shot by Billy King went over the bar.

52:04

Scott Brown manages to make a clearance.

52:02

The ball is delivered by Billy King.

51:57

The ball is delivered by Kevin McHattie.

51:40

Free kick crossed by Brad McKay.

51:24

Emilio Izaguirre gives away a free kick for an unfair challenge on Billy King.

50:31

Shot by Anthony Stokes missed to the left of the net.

50:03

Emilio Izaguirre makes a clearance.

50:00

Callum Paterson crosses the ball.

49:22

Clearance by Danny Wilson.

49:19

The ball is swung over by Emilio Izaguirre.

48:29

Free kick taken by Mikael Lustig.

48:20

Jamie Walker concedes a free kick for a foul on Mikael Lustig.

45:57

The ball is sent over by Jamie Hamill.

45:35

Kevin McHattie manages to make a clearance.

45:32

The ball is crossed by Anthony Stokes.

45:01

The game restarts for the second half.

45:00 +2:10 Half time

Half Time The whistle is blown to end the first half.

45:00 +2:06

Corner taken by Jamie Walker from the left by-line.

45:00 +0:51

Virgil van Dijk takes a shot. Blocked by Brad McKay.

45:00 +0:50

Free kick taken by Kris Commons.

45:00 +0:13

Georgios Samaras fouled by Scott Robinson, the ref awards a free kick.

43:56 Substitution

Substitution Adam Matthews leaves the field to be replaced by Georgios Samaras.

43:41

Shot by Brad McKay missed to the right of the target.

42:54

Jamie MacDonald restarts play with the free kick.

42:36

Free kick awarded for an unfair challenge on Dylan McGowan by Derk Boerrigter.

39:30

Clearance made by Virgil van Dijk.

39:17

Jamie Hamill restarts play with the free kick.

39:03

Free kick awarded for a foul by Joe Ledley on Scott Robinson.

37:27

Corner taken by Kris Commons from the right by-line.

36:28

Free kick taken by Scott Robinson.

36:22

Free kick awarded for an unfair challenge on Brad McKay by Kris Commons.

34:12

Corner taken by Kris Commons.

33:47

Shot by Adam Matthews.

33:05

Brad McKay takes the free kick.

32:48

Emilio Izaguirre receives a yellow card.

32:48 Booking

Booking

32:43

Emilio Izaguirre challenges Jason Holt unfairly and gives away a free kick.

31:41

Free kick taken by Jamie Hamill.

31:20

Joe Ledley gives away a free kick for an unfair challenge on Callum Paterson.

27:53

Corner taken by Kris Commons.

27:17

Jamie MacDonald restarts play with the free kick.

27:08

The offside flag is raised against Anthony Stokes.

26:15

Jamie MacDonald restarts play with the free kick.

26:11

Free kick awarded for an unfair challenge on Billy King by Derk Boerrigter.

17:48

Jamie Hamill receives a yellow card for unsporting behaviour.

17:48 Booking

Booking

23:06

Anthony Stokes has an effort at goal and missed to the right of the target.

22:59

Free kick taken by Scott Brown.

22:53

Unfair challenge on Scott Brown by Callum Paterson results in a free kick.

18:21 Goal scored

Goal! - Kris Commons - Hearts 0 - 1 Celtic Penalty scored by Kris Commons. Hearts 0-1 Celtic.

17:46

The referee penalises Jamie Hamill for handball.

17:26

Corner from the left by-line taken by Kris Commons.

17:01

The ball is delivered by Derk Boerrigter.

14:28

Efe Ambrose manages to make a clearance.

14:26

Corner taken by Jamie Walker from the left by-line.

14:09

Jamie Walker crosses the ball.

13:47

Dylan McGowan restarts play with the free kick.

13:20

Free kick awarded for a foul by Anthony Stokes on Callum Paterson.

12:44

Shot by Kris Commons cleared the crossbar.

12:38

The ball is delivered by Derk Boerrigter.

11:26

Jamie Hamill delivers the ball.

9:31

Scott Brown restarts play with the free kick.

9:26

Handball decision goes against Scott Robinson.

9:16

Free kick taken by Jamie MacDonald.

9:09

Anthony Stokes gives away a free kick for an unfair challenge on Brad McKay.

8:53

Mikael Lustig crosses the ball.

8:07

Clearance made by Brad McKay.

8:04

Free kick crossed by Adam Matthews.

7:33

Free kick taken by Emilio Izaguirre.

7:27

Derk Boerrigter fouled by Dylan McGowan, the ref awards a free kick.

4:30

Direct effort from the free kick comes in from Kevin McHattie. Fraser Forster parries the effort to safety.

3:58

The referee penalises Emilio Izaguirre for handball.

2:48

Free kick taken by Virgil van Dijk.

2:28

Scott Robinson gives away a free kick for an unfair challenge on Kris Commons.

1:43

Mikael Lustig delivers the ball.

0:00

The match begins.

Live data and text provided by our data suppliers