Celtic survived a second-half comeback from Hearts to win 2-1 and stay four points off Scottish Premiership leaders Rangers.
The visitors were two goals up at half-time after Reo Hatate’s powerful strike was followed up by a shot from Giorgos Giakoumakis.
The hosts looked brighter after the break and Liam Boyce pulled one back before missing the chance to equalize from the spot.
The victory means Celtic keep up the pressure on leaders Rangers, with the Old Firm rivals set to clash next Wednesday night, live on Sky Sports.
Hearts remain in third despite the defeat.
Ibrox-bound defender John Souttar returned to Hearts’ starting line-up after missing the Scottish Cup victory over Auchinleck, while Josh Ginnelly was also back in the side.
Nathaniel Atkinson and Andy Halliday dropped to the bench, where they were joined by new striker Ellis Simms, who arrived on loan from Everton shortly before kick-off.
Celtic gave a debut to former MK Dons midfielder Matt O’Riley, but captain Callum McGregor and Yosuke Ideguchi missed out with injuries sustained in the cup win over Alloa at the weekend, while Tom Rogic was away on international duty with Australia.
Hearts threatened in the opening minute when Boyce seized on a loose pass from Hatate and laid the ball off to Barrie McKay who curled an effort just over the bar from the edge of the box.
The game was temporarily paused in the 13th minute as the whole stadium, including both sets of players, joined in a minute’s applause in memory of 13-year-old Hearts fan Devin Gordon who died last week.
Celtic, who had enjoyed the majority of possession in the early stages, had their first notable shots at goal in the 16th minute when Jota tested Scotland goalkeeper Craig Gordon with a couple of low strikes from inside the box in quick succession.
Hearts were forced into a change in the 22nd minute when Michael Smith limped off to be replaced by Atkinson.
And the substitute was at fault just five minutes after entering the field when his pass into a crowded area was intercepted by Nir Bitton and Hatate surged forward onto the loose ball before firing a superb strike past Gordon from almost 30 yards.
Celtic doubled their lead in the 35th minute when Giakoumakis clipped home a cross from O’Riley at the near post, although replays suggested the Greek striker was marginally offside.
Hearts made a second change at half-time when Simms was introduced for his debut in place of Ginnelly.
The hosts pulled one back in the 62nd minute when Boyce ran on to a pass from McKay and slotted through the legs of Joe Hart from inside the box, although once again replays showed the goalscorer was offside.
The hosts had a great chance to equalize 10 minutes later when they were awarded a penalty after Bitton handled in the box but Boyce struck the inside of the post with his spot-kick.
What the managers said
Hearts boss Robbie Neilson
“We started the game really well, pressed them and got some good opportunities then Celtic started to build and there’s no denying they’re a very very good team. I felt we let them be a good team by not stopping them and letting them be aggressive.
“I thought both of them were off side to be honest with you. Two decisions that the linesman has got to get right because there’s nobody in the way.
“That’s not going to take away from we weren’t good enough in that 35-40 minute period in the first half.”
Celtic manager Ange Postecoglou
“They love talking about decisions here, don’t they! I like analyzing the game of football. Theirs is offside, ours is offside…it doesn’t matter. All I see is we played really well tonight, created a lot of opportunities .Craig Gordon has a few saves to make and we should’ve just finished it off earlier.
“You’ve got to keep it in context, O’Riley came in a few days ago and I thought he was outstanding. He’s had 70 minutes of football in the last month.
“We had a challenge tonight. Everybody knows the players we have missing are significant absences. They guys we had out there tonight had to step up and they did.”
Hearts host Motherwell, while Celtic entertain Dundee Utd, with both Scottish Premiership games kicking off at 3pm on Saturday.