CELTIC threw away a win when they allowed Heats to come from behind twice with goals at the end of each half to grab a 2-2 draw at Tynecastle.
Tom Rogic restored Celtic’s lead with a wonderful strike in the 70th minute, but as the match entered four minutes of added time Osman Sow’s drive following a short free-kick – which took a deflection – beat Craig Gordon.
The visitors were much improved from last week’s 2-1 home defeat to Motherwell, but are now only one point ahead of Aberdeen at the top of the table, albeit they have played a game less than the Dons.
A full and noisy Tynecastle watched Celtic dominate the frantic early proceedings and keeper Neil Alexander made early saves from Nadir Ciftci, Rogic and Jozo Simunovic.
The Parkhead side, however, were clearly disrupted when injured midfielder Stuart Armstrong had to be replaced by James Forrest before defender Dedryck Boyata limped off with Efe Ambrose coming on.
As Celtic readjusted, Gordon made two great saves.
The first was down at his left-hand post to deny the outstretched Prince Buaben, before striker Gavin Reilly tested him after he had got in behind Efe Ambrose.
However, three minutes before the break, a mistake by Hearts defender Blazej Augustyn allowed Celtic midfielder Callum McGregor to play in the unmarked Bitton and he settled himself before slipping the ball past Alexander.
It looked like the Hoops would go into the interval ahead but soon after three minutes of added time had been signalled on the board, a cross from the right from Buaben to the back post was knocked in by the determined Nicholson who jousted with Celtic stand-in skipper Mikael Lustig.
Within seconds of the second half starting another mistake by Augustyn near his own byline saw him dispossessed by Ciftci, whose powerful low drive was saved by Alexander, with the Gorgie men happy to emerge unscathed.
The physios of both clubs were busy and just after the hour mark Miguel Pallardo replaced Djoum, moments before referee Steven McLean ignored a Hearts penalty appeal when Ciftci bumped Augustyn in the box.
However, as they had been at the start of the match, Celtic were in top gear and went ahead again after Lustig’s cross fell to Bitton who set up Rogic – and from the edge of the box he curled a wonderful left-footed shot high past Alexander.
It was difficult to see a way back for Hearts a second time as the visitors retained their edge, although possession continued to change hands with regularity.
Gary Mackay-Steven replaced Rogic in the 77th minute and Hearts made their last two substitutions, Billy King replacing Reilly and Dario Zanatta coming on for skipper Morgaro Gomis.
And as the match moved added time, after Forrest tripped King 25 yards from goal, Buaben slipped the ball to Sow and his drive ended up behind Gordon to stun the Hoops and delight the home fans.