Hearts tried to spoil Celtic's SPL trophy party with a win that keeps alive their hopes of catching Aberdeen for a Uefa Cup qualification place.
Andrew Driver (left) put Hearts into a 2-0 lead
Celtic had dominated a lacklustre first half, but Kestutis Ivaskevicius stabbed Hearts ahead after 57 minutes.
Andrew Driver made it two with a curling free-kick, but Steven Pressley headed in for Celtic after 63 minutes.
Michal Pospisil scored a penalty after Pressley felled Laryea Kingston before the Celtic defender twice went close.
Celtic manager Gordon Strachan had rung the changes for the match that would precede the presentation of the Scottish Premier League trophy.
Jean-Joel Perrier Doumbe made his debut at right-back, joining Stephen McManus, Lee Naylor, Aiden McGeady and Jiri Jarosik in the starting line-up.
Gary Caldwell, Darren O'Dea, John Kennedy, Thomas Gravesen and Derek Riordan dropped out.
Lee Wallace and the injured Andrius Velicka missed out for Hearts, with Jose Goncalves and Saulius Mikoliunas coming into the visitors' starting line-up.
The more defensively-minded formation was quickly under pressure as the Celtic support gave their side a rousing welcome.
Shots from Shunsuke Nakamura, Jarosik and McGeady, plus a header from Jan Vennegoor of Hesselink, tested Hearts goalkeeper Craig Gordon.
And the unmarked McManus failed to hit the target from eight yards after his head was found from a corner.
Hearts lost Julian Brellier after just 23 minutes, the midfielder being replaced with Tomas Kancelsku.
But the Frenchman had been carrying an injury since the early stages and the change appeared to strengthen Hearts' ability to frustrate an increasingly lacklustre Celtic.
Celtic still enjoyed the presentation of the SPL trophy
Hearts made another change at half-time, Wallace returning to left-back in place of Goncalves.
Yet the sedate pace continued after the break, although Celtic were again doing most of the pressing.
However, it was Hearts who broke the deadlock when Shunsuke Nakamura was caught in possession.
Kingston broke clear, but there looked little danger when his pass reached Ivaskevicius.
Yet a striker who looked lazy and clumsy all afternoon clipped the ball past three defenders and poked the ball past Boruc.
Hearts increased their lead four minutes later, when Kingston was upended and Driver curled in a Nakamura-like free-kick from 20 yards.
Celtic were back in the game within two minutes, Nakamura's cross finding Pressley unmarked seven yards out to head home.
Kingston started and finished the move that led to Hearts' penalty with some sublime skill before being felled by a Pressley body-check.
Pospisil restored Hearts' two-goal advantage from the spot.
Pressley had an effort cleared off the line by Kingston and then forced a fine save from Gordon with a shot on the turn.
But it was Hearts who took the points with them down the M8 to move to within four points of third-top Aberdeen and leave Celtic to enjoy the presentation of the league silverware.
Celtic: Boruc, Perrier Doumbe, Pressley, McManus, Naylor, Nakamura, Lennon (Gravesen 80), Hartley, McGeady (Riordan 81), Jarosik (Miller 73), Vennegoor of Hesselink.
Subs Not Used: Brown, O'Dea, Caldwell, Bjarnason.
Booked: Hartley, Naylor, Pressley.
Goal: Pressley 63.
Hearts: Gordon, Karipidis, Berra, Zaliukas, Goncalves (Wallace 46), Mikoliunas (McCann 72), Brellier (Kancelsku 24), Kingston, Ivaskevicius, Pospisil, Driver.
Subs Not Used: Banks, Tall, Elliot, Bednar.
Booked: Mikoliunas, Driver, Wallace, Kancelsku.
Goals: Ivaskevicius 57, Driver 61, Pospisil 71 pen.
Ref: S Dougal