St Johnstone became the latest victims of what is looking like an unstoppable Celtic march to the league title.
But it was very nearly a heroic comeback draw from the Perth men.
Conceding a goal to Leigh Griffiths within a minute got them off to the worst possible start.
And Stefan Johansen’s strike shortly after the break appeared to have put this game to bed.
Saints achieved the rare distinction of scoring against the Hoops though the first team to do so in nine games when Michael O’Halloran found the net with just under 20 minutes to go.
And in the 90th minute Dave Mackay and Brian Graham forced a fine double-save out of Craig Gordon to deny the home team an unlikely point.
There were four changes to the Saints team which was dumped out of the cup last weekend, with Steven MacLean, Michael O’Halloran, Lee Croft and Chris Millar all returning.
Celtic have got a Europa League clash with Inter Milan on Thursday night, but Ronny Deila put out his strongest available side nonetheless. Leigh Griffiths returned at the expense of John Guidetti.
For the second game running Celtic’s opening goal came after seconds, rather than minutes.
It took Gary Mackay-Steven 38 of them to score against Partick Thistle, and Griffiths was able to shave three off that mark.
Saints had actually kicked off, but conceded possession to their opponents and conceded far too much space to Griffiths through the middle.
He was picked out by a defence-splitting Nir Bitton through-ball and slid the ball past Alan Mannus.
Celtic were in no mood to loosen their grip, and on 15 minutes a Johansen corner was met by the towering figure of Virgil van Dijk at the back post. He headed it across goal, where Mannus had to react quickly to thwart Griffiths.
Mannus v Griffiths was becoming a recurring theme in this match, and the Northern Irishman won another one-on-one when he blocked a shot from near the edge of the box.
There wasn’t much in the way of good news for Perth fans in these early stages. Injury-plagued midfielder Murray Davidson hobbled off after landing awkwardly and was replaced by Chris Kane.
The substitute nearly made an instant impact when he got on the end of an O’Halloran cross, but his glancing header just missed the far post.
Credit to Saints for not folding, and as the half progressed they became more and more of an attacking threat, particularly from corners.
Both Kane and Steven Anderson had headed chances from out-swingers, but neither came close to scoring.
Mackay-Steven reminded Saints of Celtic’s firepower though, when he had Mannus at full stretch to tip a 20-yarder over the bar.
After conceding such an early opener Saints would have been quite content to go into the break at just one down.
That satisfaction was wiped out by Celtic’s second though, which came seven minutes after the break.
Griffiths flicked on an Armstrong pass and Johansen took a couple of touches, and brushed aside the home defenders far too easily, before giving Mannus no chance with his low finish.
Celtic were in cruise control but that all changed on 72 minutes when Gordon spilled the ball at O’Halloran’s feet and he buried it from point-blank range.
It was the first time they had conceded since December 21.
Saints had a few free-kicks in dangerous positions in the closing stages, and from one of them in the 90th minute Gordon had to make a double save from Graham and then Mackay to earn Celtic their win.