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