John Guidetti scored a brace for the reigning champions with Kenny McLean netting in between for St Mirren to briefly level the game.
Guidetti (42) scored his first when Emilio Izaguirre exchanged passes with Tony Stokes before releasing Scott Brown clear on the edge of the St Mirren box and the Celtic skipper squared across the six-yard line for the Swede to scramble the ball over the line.
Had the ball not finished up in the net St Mirren defender Jim Goodwin may have been red-carded for tripping Guidetti as the Celtic striker was about to hit his initial shot.
Celtic gifted the home side an equaliser four minutes after the break when Craig Gordon threw the ball straight to an opponent and as St Mirren worked the ball quickly into the box the keeper denied Marc McAusland with a reflex save but McLean was following up to net the rebound.
But Celtic restored their advantage on 63 minutes when Stokes collected a short lay-off from Mubarak Wakaso and turned to play in a wonderful reverse pass for Guidetti to shoot under Marian Kello from eight yards.
The St Mirren defence was split inside two minutes with a long pass from Virgil van Dijk which Guidetti latched on to but could only lift his attempted lob against the advancing Kello.
But 90 seconds later McLean intercepted a pass out of defence from Eoghan O’Connell and laid the ball in front of Thomas Reilly who smacked a shot off the bar from 30 yards.
Van Dijk then squandered an opportunity when he arrived in front of McAusland at the back post to meet a Stokes free-kick from the right flank, but the big Celtic defender clipped the ball over the target from six yards.
After Guidetti restored Celtic’s lead van Dijk was inches away from adding a third 15 minutes from time when his dipping free-kick from 25 yards skimmed the side netting with Kello well beaten.