Celtic could see their lead at the Scottish Premiership summit cut to six points after being held to a 0-0 draw by arch-rivals Rangers in an enthralling Old Firm derby.
The reigning champions had plenty of chances to head into the mid-season break on the back of a win, but their inability to do so left them clinging on to a result that gives Aberdeen a chance to close in on them with victory at home to Hearts later on Saturday.
Rangers pressed well in the opening stages and broke for a chance that Alfredo Morelos fired wide, but they had to rely upon goalkeeper Wes Foderingham to avoid falling out of contention in the first period.
After pushing James Forrest's shot wide, Foderingham clawed a header from Moussa Dembele away and held onto Scott Sinclair's follow-up on the line, but the Gers lost veteran centre-back Bruno Alves to injury in the process.
18' SUB: David Bates comes on to replace the injured Bruno Alves. pic.twitter.com/tKySXFBuir-- Rangers Football Club (@RangersFC) December 30, 2017
Sinclair spurned a fantastic chance when he swept wide in first-half stoppage time and it would have proved costly had Celtic keeper Craig Gordon not pushed a brilliant scissor-kick from James Tavernier over the top.
With Rangers enjoying their best spell, Dembele, heavily linked with a move to Brighton and Hove Albion in the transfer window, was replaced by Leigh Griffiths in the 61st minute in what could prove to be his Celtic Park farewell.
Gordon produced another phenomenal stop with his left leg to deny Morelos nodding home after an excellent run from Tavernier on the right, and the Colombian was unable to hit the target with a free header when the duo combined again 11 minutes from time.
That miss means Rangers' wait for a first league win at Celtic since October 2010 continues.