Celtic stretched their Scottish Premier League lead to four points with a convincing victory at Tynecastle.
Stephen Elliott's early header appeared to cross the line before it was scrambled away and Celtic broke away to open the scoring through Scott Brown.
Joe Ledley's close-range header followed Victor Wanyama's 12-yard shot to put Celtic three up at the break.
And, wiith 30 minutes remaining, Gary Hooper pounced on Wanyama's header to fire in the fourth goal.
Celtic's impressive form has taken their consecutive run of wins in the league to 13 matches, while Hearts, who were the last team to beat the leaders on SPL duty - some three months ago, remain in fourth place.
Celtic boss Neil Lennon made one change, with winger James Forrest replacing Kris Commons, who started on the bench along with new loan signing Pawel Brozek.
Hearts made three alterations with Danny Grainger, Mehdi Taouil and Andrew Driver coming in for the injured David Templeton, the suspended Ian Black and Rudi Skacel, who was named among the subs.
In a dramatic opening, Elliott looked certain to score for Hearts as he got his head on the ball inside the six yard box.
But his weak effort struck Ledley before being scooped away by keeper Fraser Forster. Television evidence later indicated that the ball had crossed the line, but referee Willie Colum waved play on.
With the stadium announcer playing music for a home goal, Forrest immediately broke away and fed Georgios Samaras inside the penalty area. The Greece striker mis-controlled the ball but Brown was well place to pick up the scraps and thunder an unstoppable shot past Jamie MacDonald.
Moments later, Brown aimed for his second with a pile-driver from 25 yards out that went over the crossbar and Marius Zaliukas repeated the feat in front of the Celtic goal.
On 20 minutes, Celtic extended their lead when Zaliukas headed out a Charlie Mulgrew corner and Forrest's strike from the edge of the penalty area was deflected on to the feet of Wanyama, who turned and delivered an inch-perfect shot into the back of the net.
Hearts were well and truly on the ropes by the time the half hour mark had passed when Samaras sprinted down the left edge of the Hearts penalty area and delivered a neat cross for Ledley to nod into an empty net from close range.
After the restart, Hearts seemed determined to try and claw back the deficit, but Celtic were just as eager to put the match beyond their hosts.
Ledley sent a hopeful shot from distance towards the Hearts goal after 55 minutes that sailed wide, then five minutes later the Welshman struck the inside of MacDonald's post before the ball was cleared.
From the resulting Mulgrew corner, Wanyama nodded down at the back post and Hooper poked the ball into the back of the net from inches out.
Hearts subsitute Suso Santana should have done better with a shot that Taouil set up from the byline, but the Spaniard scuffed his shot wide of the mark from near the penalty spot.
With 10 minutes remaining, Samaras was denied by MacDonald with a powerful drive from 25 yards out, then an Anthony Stokes free-kick from 30 yards out curled wide.
With time running out, Skacel's late set-piece was smothered by Forster along with any hope that his side could pick up a consolation.
Heart of Midlothian
- 30 MacDonald
- 03 Grainger (Skacel - 64' )
- 06 Webster Booked
- 17 McGowan Booked
- 26 Zaliukas
- 02 Hamill
- 11 Driver Booked (Glen - 46' )
- 21 Taouil
- 31 Mrowiec Booked
- 10 Elliott
- 27 Robinson (Suso Santana - 71' )
- 28 Ridgers
- 05 Barr
- 13 Obua
- 07 Suso Santana
- 19 Skacel
- 42 Holt
- 23 Glen
- 01 Forster
- 06 Wilson
- 21 Mulgrew Booked
- 25 Rogne (Majstorovic - 64' )
- 02 Matthews
- 08 Brown Booked (Brozek - 73' )
- 16 Ledley
- 67 Wanyama
- 09 Samaras
- 49 Forrest
- 88 Hooper (Stokes - 66' )
- 24 Zaluska
- 05 Majstorovic
- 11 Cha Du-Ri
- 18 Ki Sung-Yeung
- 10 Stokes
- 15 Commons
- 17 Brozek
Live Text Commentary
Full Time The final whistle goes and the game is over.89:37
Mehdi Taouil fouled by Charlie Mulgrew, the ref awards a free kick. Rudi Skacel shoots direct from the free kick, save by Fraser Forster.88:05
Direct effort from the free kick comes in from Anthony Stokes.88:05 Booking
Booking Adrian Mrowiec goes into the book.88:00
Free kick awarded for a foul by Adrian Mrowiec on Georgios Samaras.87:24
Anthony Stokes concedes a free kick for a foul on Jamie Hamill. Andy Webster takes the direct free kick.80:54
Corner taken left-footed by Charlie Mulgrew from the left by-line, Rudi Skacel makes a clearance.80:42
Georgios Samaras has an effort at goal from deep inside the area missing to the left of the target.79:26
James Forrest gives away a free kick for an unfair challenge on Ryan McGowan. Suso Santana takes the free kick.78:15
Corner from the right by-line taken by Mehdi Taouil, Anthony Stokes makes a clearance.76:24
Ryan McGowan produces a right-footed shot from deep inside the penalty box which goes wide of the left-hand upright.75:44
The assistant referee flags for offside against Anthony Stokes. Direct free kick taken by Andy Webster.74:55
Direct free kick taken by Fraser Forster.74:55 Booking
Booking Ryan McGowan goes into the referee's book for unsporting behaviour.74:48
Free kick awarded for an unfair challenge on Kelvin Wilson by Ryan McGowan.72:25 Substitution
Substitution Pawel Brozek is brought on as a substitute for Scott Brown.72:25
Ryan McGowan challenges Scott Brown unfairly and gives away a free kick. Daniel Majstorovic takes the direct free kick.71:08
Free kick awarded for a foul by Suso Santana on Victor Wanyama. Direct free kick taken by Charlie Mulgrew.69:53 Substitution
Substitution Scott Robinson leaves the field to be replaced by Suso Santana.69:53
Anthony Stokes is ruled offside. Ryan McGowan takes the free kick.
Free kick awarded for a foul by Rudi Skacel on Scott Brown. Daniel Majstorovic takes the direct free kick.66:00
The assistant referee signals for offside against Anthony Stokes. Jamie MacDonald restarts play with the free kick.65:23 Substitution
Substitution Anthony Stokes on for Gary Hooper.65:08
Shot from just outside the box by Mehdi Taouil misses to the right of the goal.64:51
Scott Robinson takes a inswinging corner to the near post, clearance by Charlie Mulgrew.64:28 Booking
Booking Scott Brown is cautioned by the ref for unsporting behaviour.64:18
Free kick awarded for a foul by Scott Brown on Ryan McGowan. Scott Robinson takes the free kick.63:30 Substitution
Substitution (Hearts) makes a substitution, with Rudi Skacel coming on for Daniel Grainger.63:12 Substitution
Substitution (Celtic) makes a substitution, with Daniel Majstorovic coming on for Thomas Rogne.61:21
Scott Brown challenges Daniel Grainger unfairly and gives away a free kick. Daniel Grainger restarts play with the free kick.60:36
Unfair challenge on Ryan McGowan by Georgios Samaras results in a free kick. Andy Webster takes the free kick.59:18
Assist by Victor Wanyama.59:18 Goal scored
Goal! - Gary Hooper - Hearts 0 - 4 Celtic Gary Hooper finds the net with a goal from close in low into the middle of the goal. Hearts 0-4 Celtic.58:54
Charlie Mulgrew takes the inswinging corner,58:40
Kelvin Wilson has an effort at goal from close in that bounces off the post.57:02
Mehdi Taouil concedes a free kick for a foul on Kelvin Wilson. Fraser Forster takes the indirect free kick.56:04
Mehdi Taouil gives away a free kick for an unfair challenge on Scott Brown. Thomas Rogne takes the free kick.54:35
Joe Ledley has an effort at goal from just inside the box that misses to the left of the goal.52:05
Outswinging corner taken by James Forrest.49:32
The offside flag is raised against Stephen Elliott. Fraser Forster takes the free kick.48:42
Jamie Hamill fouled by Georgios Samaras, the ref awards a free kick. Direct free kick taken by Andy Webster.46:07
Corner taken right-footed by Mehdi Taouil, Scott Brown manages to make a clearance.45:43
Victor Wanyama concedes a free kick for a foul on Scott Robinson. Mehdi Taouil takes the free kick.45:01
The match restarts for the second half.45:01 Substitution
Substitution Gary Glen comes on in place of Andrew Driver.45:00 +0:31 Half time
Half Time It is the end of the first-half.45:00 +0:15 Booking
Booking Charlie Mulgrew goes into the referee's book for unsporting behaviour.44:27
Outswinging corner taken by Scott Brown.43:30
Charlie Mulgrew takes the outswinging corner, Adrian Mrowiec manages to make a clearance.41:50
Victor Wanyama has a shot on goal from outside the box which misses left.40:00 Booking
Booking Booking for Andy Webster for unsporting behaviour.39:47
Adrian Mrowiec has an effort at goal from just outside the penalty box which goes wide of the left-hand post.37:00
Gary Hooper challenges Andy Webster unfairly and gives away a free kick. Direct free kick taken by Andy Webster.35:01
Outswinging corner taken left-footed by Charlie Mulgrew played to the near post, clearance made by Scott Robinson.30:43
Assist on the goal came from Georgios Samaras.30:43 Goal scored
Goal! - Joe Ledley - Hearts 0 - 3 Celtic Joe Ledley grabs a headed goal from inside the six-yard box. Hearts 0-3 Celtic.28:31
Outswinging corner taken left-footed by Charlie Mulgrew, Close range headed effort by Thomas Rogne clears the crossbar.26:47
Outswinging corner taken from the left by-line by Charlie Mulgrew, Marius Zaliukas manages to make a clearance.25:45
Outswinging corner taken right-footed by James Forrest from the right by-line, clearance by Jamie Hamill.23:54
Stephen Elliott takes a shot. Fraser Forster makes a save.23:09
Outswinging corner taken from the right by-line by Mehdi Taouil.20:27
Gary Hooper gives away a free kick for an unfair challenge on Marius Zaliukas. Jamie MacDonald takes the free kick.19:07
Assist on the goal came from James Forrest.19:07 Goal scored
Goal! - Victor Wanyama - Hearts 0 - 2 Celtic Victor Wanyama fires in a goal from inside the penalty area to the top right corner of the goal. Hearts 0-2 Celtic.18:26
Outswinging corner taken left-footed by Charlie Mulgrew from the left by-line,15:52
Joe Ledley produces a left-footed shot from the edge of the box and misses to the right of the target.15:04
Direct free kick taken by Charlie Mulgrew.15:04 Booking
Booking The referee cautions Andrew Driver for unsporting behaviour.14:54
Unfair challenge on Georgios Samaras by Andrew Driver results in a free kick.13:30
Scott Robinson takes a shot. Charlie Mulgrew gets a block in. Corner from the left by-line taken by Mehdi Taouil, clearance made by Charlie Mulgrew.11:20
Victor Wanyama concedes a free kick for a foul on Adrian Mrowiec. Andy Webster takes the free kick. Marius Zaliukas produces a right-footed shot from just outside the area that goes harmlessly over the target.10:00
The referee blows for offside. Jamie MacDonald takes the free kick.8:05
Effort from just outside the box by Scott Brown goes over the bar.5:25
Scott Robinson fouled by Scott Brown, the ref awards a free kick. Free kick taken by Andy Webster.2:09 Goal scored
Goal! - Scott Brown - Hearts 0 - 1 Celtic Scott Brown grabs a goal from inside the area to the bottom left corner of the goal. Hearts 0-1 Celtic.1:06
Andrew Driver takes a inswinging corner.0:24
Unfair challenge on Kelvin Wilson by Stephen Elliott results in a free kick. Fraser Forster restarts play with the free kick.0:00
The referee gets the game started.
Live data and text provided by our data suppliers