Match ends, Celtic 2, St. Mirren 0.
Two early second-half strikes kept Celtic top of the Scottish Premiership on goal difference and dropped St Mirren to bottom spot.
The champions twice hit the woodwork and had a header cleared off the line in a frustrating first half.
But in a nine-minute burst, Mohamed Elyounoussi and James Forrest - marking a new four-year deal - sealed victory.
Celtic are now one goal better off than Rangers, while St Mirren are below Hearts on goal difference.
The hosts gave a debut to left-back Greg Taylor almost two months after his deadline-day signing from Kilmarnock, but initially lacked the fluency of their weekend destruction of Aberdeen as the visitors defended superbly.
However, a much improved performance after the break allowed Celtic to cruise to victory before Saturday's League Cup semi-final against Hibernian.
- Celtic's Bayo facing surgery - Lennon
- Forrest signs new Celtic contract
- Celtic and Lazio charged by Uefa
Memorable day for Forrest
Jim Goodwin's men were dreaming of a famous scalp at half-time. Forty-five minutes later, the positivity had evaporated and they were propping up the table.
Few gave the Paisley outfit a ghost of a chance on the eve of Halloween at Celtic Park, where they last won in 1990 - a barren run stretching to 24 games.
Their grisly Premiership goal haul - five in 11 matches - is in stark contrast to the free-flowing hosts, who are averaging more than three per game. Indeed, Odsonne Edouard and Ryan Christie have both scored more than St Mirren's entire team in the league.
However, what St Mirren lack up front they tend to make up for in defence. The fourth tightest backline in the division refused to be spooked as they superbly frustrated the hosts in the first half.
Christie hit the top of the crossbar with a 25-yard strike while Christopher Jullien could not repeat his goalscoring heroics against Lazio last week. From Christie corners, the French defender nodded wide of an open goal before having a header booted off the line by Ryan Flynn.
And when the visitors were sliced open, Vaclav Hladky came to the rescue on the stroke of half-time, tipping Forrest's near-post drive on to a post.
St Mirren offered fleeting moments of threat too, Jonathan Obika latching on to a long Sean McLoughlin ball upfield to outmuscle Kristoffer Ajer and force a low save from Fraser Forster.
Within nine minutes of the restart, though, Celtic were home and dry. Elyounoussi was on hand to pop the ball home from close range when Edouard's strike ricocheted back off an upright.
And the Norwegian was key to the second too, surging down the left before play was switched to Forrest on the opposite flank. The Scotland winger cut on to his left foot and lasered a drive through a ruck of bodies into the net for his 10th goal of the season.
With the ink barely dry on the four-year contract he signed earlier in the day, Forrest was able to celebrate reaching double figures for the third successive season.
Elyounoussi and Edouard both came close to making the win more comfortable as St Mirren tired. And while they slip to bottom spot, Goodwin's side now turn their focus to the pivotal meeting with fellow strugglers Hearts a week on Saturday.
Man of the match - James Forrest
BBC Scotland's Liam McLeod at Celtic Park
Forrest long ago proved his worth to Celtic but once again he made a huge difference in a stuffy win.
The Scotland international scored on his debut in Neil Lennon's first spell but even his manager has been pleasantly surprised by his recent prolific strike rate.
Lennon described Forrest as "priceless" after the match and it is a fair point when you consider the improvement in his game, firstly under Brendan Rodgers, and now the man who gave him his first-team chance is reaping the rewards too.
'We needed more oomph' - reaction
Celtic manager Neil Lennon: "I just wanted a bit more energy and attacking threat. We needed more oomph and I certainly got that second half and we could have won by a lot more.
"I wasn't unhappy with the first-half performance but we played into St Mirren's hands by being hesitant with our passing and trying to force things. Second half was tremendous - no panic."
St Mirren manager Jim Goodwin: "The first half was satisfying in terms of what we set out to do - be compact, not let Celtic play through us, and try and hit them on the break.
"We asked for a repeat performance and unfortunately we just didn't start the second half in the manner we should have."
- 3TaylorSubstituted forHayesat 88'minutes
- 8BrownSubstituted forNtchamat 69'minutes
- 22EdouardSubstituted forMorganat 83'minutes
- 7MagennisBooked at 19minsSubstituted forMullenat 75'minutes
- 8FlynnSubstituted forAndreuat 63'minutes
- 11DurmusSubstituted forMoriasat 82'minutes
- Kevin Clancy
- Shots on Target
Second Half ends, Celtic 2, St. Mirren 0.
Mohamed Elyounoussi (Celtic) wins a free kick in the attacking half.
Foul by Stephen McGinn (St. Mirren).
Substitution, Celtic. Jonny Hayes replaces Greg Taylor.
Offside, Celtic. Kristoffer Ajer tries a through ball, but Lewis Morgan is caught offside.
Attempt missed. Calum Waters (St. Mirren) left footed shot from outside the box is too high. Assisted by Sam Foley.
Substitution, Celtic. Lewis Morgan replaces Odsonne Edouard.
Substitution, St. Mirren. Junior Morias replaces Ilkay Durmus.
Offside, St. Mirren. Tony Andreu tries a through ball, but Ilkay Durmus is caught offside.
Attempt saved. James Forrest (Celtic) right footed shot from the left side of the box is saved in the centre of the goal. Assisted by Ryan Christie.
Foul by Christopher Jullien (Celtic).
Jonathan Obika (St. Mirren) wins a free kick on the right wing.
Offside, Celtic. Mohamed Elyounoussi tries a through ball, but Moritz Bauer is caught offside.
Substitution, St. Mirren. Daniel Mullen replaces Kyle Magennis.
Attempt saved. Christopher Jullien (Celtic) right footed shot from the centre of the box is saved in the top centre of the goal. Assisted by Ryan Christie with a cross.
Corner, Celtic. Conceded by Sean McLoughlin.
Attempt blocked. Ryan Christie (Celtic) left footed shot from outside the box is blocked. Assisted by James Forrest.
Attempt saved. Olivier Ntcham (Celtic) right footed shot from outside the box is saved in the bottom left corner. Assisted by Greg Taylor.
Foul by Christopher Jullien (Celtic).