Saints striker Lee Erwin, making his first start since signing from Ross County last week, bundled in a shock opener from a corner in the third minute in Paisley.
But Hoops defender Shane Duffy levelled in the 21st minute with a powerful header, the Irish man's second goal in two games since joining on loan from Brighton, and James Forrest nodded home in the 36th minute to ultimately give the dominant champions victory.
St Mirren’s emergency loan keeper Zdenek Zlamal saved an Odsonne Edouard penalty in the 75th minute and despite no more goals it was a more comfortable victory than the scoreline suggested.
Neil Lennon’s side are three points behind Rangers with a game in hand and can draw level in their home match against Livingston on Saturday, with the Light Blues not playing until Sunday.
The match took place against the background of continuing Covid-19 issues which had affected the Paisley club.
The home side had Zlamal in goal again as first-choice keepers Jak Alnwick and Dean Lyness remained out after recording positive coronavirus tests.
Third-choice goalkeeper Peter Urminsky, left out of the 3-0 defeat by Hibernian at the weekend as a precaution, started on the bench.
Joe Shaughnessy, Dylan Connolly and Junior Morais were back in the team along with Erwin.
Lennon also made four changes as he brought in Hatem Elhamed, Greg Taylor, Ryan Christie and Patryk Klimala, the latter coming into the side for his first start this season to partner Edouard.
It was the home side who struck first when Jamie McGrath’s corner from the right was flicked on by Shaughnessy and Erwin scrambled the ball over the line from a yard out.
Celtic’s inevitable response saw Saints pinned back and in the 19th minute Edouard headed wide from a Forrest cross.
However, moments later, Republic of Ireland international Duffy was more accurate from Christie’s free-kick from wide on the right as he powered in a header past Zlamal, undoing all Saints’ good work.
Celtic’s pressure was relentless. Zlamal made good saves from Callum McGregor and Edouard but had no chance with Forrest’s well-placed header, with Christie again the provider.
St Mirren had to come out of their shell and there was a penalty claim for handball against Duffy in a packed Celtic penalty area turned down by referee John Beaton.
The Hoops carried their threat into the second half.
McGregor came close with a low drive from 16 yards, Zlamal pushed a dipping Edouard free-kick from 20 yards past the post and then saved a long-distance effort from Christie.
Celtic kept the ball zipping around as St Mirren retreated to the edge of their box in compact shape but a foul by McGrath on Christie had Beaton quickly pointing to the spot but Zlamal dived low to block Edouard’s penalty.
Still, Celtic dominated possession but the Buddies keeper again proved his worth with another fine save from Christie’s 20-yard drive in added time.