Jiri Jarosik scored a superb winner as Celtic came from behind to defeat Hearts and stretch their lead in the Scottish Premier League to 17 points.
Jiri Jarosik made it a happy return to Tynecastle for Steven Pressley
Saulius Mikoliunas blasted Hearts into a deserved lead from 25 yards and Paul Telfer prevented a second by clearing Roman Bednar's header off the line.
But Jan Vennegoor of Hesselink, moments after having an attempt cleared off the line, equalised from close range.
And, despite chances for both sides, Jarosik won it with a fine low drive.
It was a happy return to Tynecastle for Steven Pressley - captaining Celtic for the first time on his return to his former club.
Thomas Gravesen had come into midfield along with Jarosik in place of suspended captain Neil Lennon as Aiden McGeady dropped to the bench.
Hearts were without Robbie Neilson and Bruno Aguiar through suspension, with Paul Hartley and Mikoliunas returning to the side.
Steven Pressley was at Tynecastle as a Celtic player
Bednar, Takis Fyssas and Marius Zaliukas also came in for Michal Pospisil, Lee Wallace and Christos Karipidis.
Gravesen was lucky not to have action taken against him when he kicked out at Mikoliunas off the ball.
And Hearts suffered a blow when Nerijus Barasa had to go off injured, with Ibrahim Tall coming into defence.
But they still threatened and Mikoliunas was allowed room to cut inside before firing a drive at goal.
It was straight at Artur Boruc on that occasion, but the Celtic defence did not heed the warning.
And, when the Lithuanian winger was allowed a second attempt moments later, his powerful, left-foot drive from 25 yards dipped in off the post.
Hearts just failed to add to the scoring when Bednar set Andrew Driver clear.
MY SPORT DEBATE: Your views on Celtic's victory
Boruc blocked the winger's shot, Hartley picked up the loose ball, his cross was headed towards goal by Bednar and Telfer hooked the ball off the line.
Hearts began to lose control of midfield when they lost Driver to injury shortly after the break, the youngster being replaced with striker Calum Elliot.
Saulius Mikoliunas opened the scoring for Hearts
Celtic came close to equalising when Vennegoor of Hesselink's header was cleared off the line by Gordon and Nakamura's attempt to fire home on the rebound was blocked by Berra.
And, when Gordon failed to hold substitute Craig Beattie's low drive, Vennegoor of Hesselink slotted home from five yards out.
Celtic were an inch away from going ahead when a Nakamura drive deflected off Tall and stuck the underside of the crossbar.
And a low Mikoliunas cross just evaded Hartley in front of an unguarded Celtic net.
But it was Celtic who made their class tell by clinching the points when Jarosik drifted in from the left and fired into the far corner of the net from 18 yards.
Hearts: Gordon, Barasa (Tall 23), Zaliukas, Berra, Fyssas, Mikoliunas, Hartley, McCann, Driver (Elliot 51), Velicka, Bednar (Pospisil 75).
Subs Not Used: Banks, Wallace, Mole, Jonsson.
Goal: Mikoliunas 28.
Celtic: Boruc, Telfer, Pressley, O'Dea, Naylor, Nakamura, Gravesen, Jarosik, Sno, Zurawski (Beattie 54), Vennegoor of Hesselink.
Subs Not Used: Marshall, Miller, Riordan, Lawson, McGeady, Conroy.
Goals: Vennegoor of Hesselink 59, Jarosik 81.
Ref: K Clarke