Neil Lennon made a dramatic return to Celtic as his side snatched a late victory after a tough battle with Hearts at Tynecastle.
Odsonne Edouard grabbed the crucial winner after Oliver Bozanic’s penalty cancelled out James Forrest’s opener.
Craig Levein’s side started the brighter of the two in the game as Sean Clare saw his sweeping volley touched brilliantly past the post by Scott Bain as the hosts pushed Celtic back.
Against the run of play, it was Celtic that jumped in front. After a blocked free-kick, Ewan Henderson released Scott Sinclair on the break who rolled in Oliver Burke, who in turn was so unselfish as he squared it for James Forrest to finish into an empty net.
Celtic really improved after their goal and were handed even more a boost when Jamie Brandon was shown a straight red card by Steven Maclean after catching Jeremy Toljan in the face with his arm in the air.
Hearts had goalkeeper Bobby Zamal to thank for not being two-nil down at half-time as he somehow got a hand to Burke’s deflected effort before whacking the ball away from Sinclair’s feet.
Celtic looked to be in control after the break until they gifted Hearts a route back into the game. Scott Bain’s square pass ran too long for Kristoffer Ajer who, on the stretch got a flick on the ball but followed through on Arnua Djoum with the referee pointing to the spot. Oliver Bozanic stuck the penalty straight down the middle to level things.
It looked as the visitors would have to settle for a point as they struggled against the 10 men before Scott Brown’s ball picked out Odsonne Edouard in the box, who made no mistake as he slammed the ball past Zlamal.
Here’s how we rated the players after tonight’s huge three points.
Scott Bain: 6
Made a super fingertip save to push Clare’s volley wide.
Was forced to go long with his passing to Burke more than usual due to Hearts’ high press.
The blame probably will have to split between him and Ajer for Hearts’ goal.
Jeremy Toljan: 7
Recovered after a slack start at the back and was dangerous on the overlap when Forrest cut inside.
Was surprisingly replaced by Lustig with minutes left.
Dedryck Boyata: 6
Made a horrendous effort as he dithered on the ball allowing Naismith in but the striker pulled his shot wide.
Coped well as Hearts flooded the Celtic box with long throws.
Kristoffer Ajer: 6
Had a real battle on his hands with the strength of Uche Ikpeazua and won’t the thank Bain for the pass that forced him into giving away a penalty.
Kieran Tierney: 6
Was fairly quiet over the course of the 90 but beat his man well late on as he pressed forward.
Scott Brown: 7
Got on the ball more as the game progressed and moved it well under pressure.
Brillant ball from the skipper to set up Edouard for the winner.
Nir Bitton: 6
Wasn’t quick enough with the ball as his opponents pressed him but improved in the second half and was pretty tidy.
Ewan Henderson: 6
The youngster struggled with the physical battle in the first half but played a great through ball to set Sinclair away for the goal.
Got himself into some really good spaces after Hearts were reduced to 10 men but was replaced after an hour by Odsonne Edouard.
James Forrest: 7
Combined well with Toljan down the right and showed great energy to get up and tap in from Burke’s pass.
Was really positive as he drove at then Hearts defence.
Scott Sinclair: 6
Looked dangerous on the break in the first half and played a pivotal part in the first goal.
Was taken off for the final 10 minutes.
Oliver Burke: 7
His pace was a real problem for the Hearts centre-backs with plenty of space in behind them.
Showed great composure to pick out Forrest for an easy finish for the opener.
His threat was nullified slightly as Hearts dropped deeper after the red card.
(SUB) Odsonne Edouard: 7
Came on in place of Henderson for the last 30 minutes and played in the number 10 role behind Burke.
Had the ultimate impact on the game with a super finish on the volley.
(SUB) Timothy Weah: 5
Replaced Scott Sinclair in the later stages.
(SUB) Mikael Lustig: 5
Got a couple of minutes at the death.