Celtic remain five points clear of Rangers at the top of the Scottish Premiership following their 2-1 win at St Mirren.
First-half goals from midfielder Callum McGregor and winger James Forrest gave the visitors a solid interval lead.
The home side's attitude and spirit remained intact and they reduced the deficit in the 89th minute with a deflected free-kick from Cammy MacPherson but it was too late for the Buddies to complete the turnaround.
Rangers, who have a game in hand over the Hoops, beat Kilmarnock 1-0 at Ibrox to set up what is sure to be a thrilling and significant clash between the Glasgow giants at Parkhead on Sunday.
Saints can be pleased with their performance.
The Paisley men, industrious and organised, worked hard to restrain the visitors in the early stages.
In fact, in the 14th minute Hoops 'keeper Fraser Forster was asked to deal with a near-post volley from Ilkay Durmus, after Jon Obika had shrugged off the attentions of defender Kristoffer Ajer to get in a cross.
At the other end, Saints 'keeper Vaclav Hladky plucked a long-range drive from Parkhead midfielder Olivier Ntcham out of the air.
McGregor's goal in the 22nd minute came after St Mirren's Sam Foley conceded possession in the middle of the park, allowing Ryan Christie to send striker Odsonne Edouard racing down the left.
Although the Frenchman's touch inside the box appeared heavy, Hladky and the Saints defenders became entangled and after McGregor's first scooped shot came off the post, he tapped the rebound into an empty net.
A swift Hoops break 10 minutes later saw Edouard play in Forrest and he rounded the Buddies 'keeper with some assuredness before rifling the ball high into the net, with Saints claiming offside.
Edouard had the ball in the St Mirren net four minutes into the second half but the offside flag had been up for several seconds.
Hladky made saves from Forrest and right-back Jeremie Frimpong as Celtic went looking to extend their lead further.
At the other end, Obika's shot struck midfielder Ryan Flynn right in front of goal but zipped past the post, before Forster saved Obika's angled-shot from close range at his near post.
However, in between those two opportunities, and as the match sped from end to end, Parkhead defender Christopher Jullien headed a Christie free-kick just over the bar when he ought to have hit the target.
The home side kept plugging away and at times the Hoops' defence looked uneasy, but it took another good save from Hladky to deny Ntcham in the 78th minute.
There was some late drama. MacPherson's deflected free-kick off Jullien from 25 yards, after the French defender was booked for a foul on Obika, gave the home side some hope but it was simply too late with only two minutes added on.