It was the Hoops fifth straight win and they reiterated their title intentions in impressive style, although Rangers have a game in hand against Kilmarnock at Rugby Park on Sunday.
The first half belonged to the much-maligned Georgios Samaras as dreadful defending by the visitors allowed him to open the scoring in the fourth minute, with Hooper grabbing his first four minutes later from close range.
The former Scunthorpe striker scored twice more early in the second half before substitute Dylan McGeouch scored his first goal for the club in the 72nd minute with a wonderful solo effort which began when he won the ball in his own half.
The home fans hailed a new hero at the end, but the win was inspired by Samaras, who probably started the game only because Kris Commons was injured.
Defender Glenn Loovens replaced Ki Sung-yueng, who dropped to the bench, while St Mirren boss Danny Lennon dropped former Rangers striker Steven Thompson to the bench and brought in defender Illias Haddad, with Gary Teale replacing injured midfielder Steven Thomson.
But it was to no avail.
Just as they did in their 2-1 home win over Dunfermline in midweek, Celtic started the game strongly but Samaras only put them ahead after Saints defender Marc McAusland made a mess of trying to clear a harmless Joe Ledley pass.
The ball fell kindly to the Greece striker, whose low drive from the edge of the box was unconvincing, but goalkeeper Craig Samson let the ball squirm out of his hands and trickle over the line.
Four minutes later Samaras was involved again when he set up Anthony Stokes inside the box and his drive was tapped into an empty net at the back post by Hooper as the visitors appealed unsuccessfully for offside.
In the 19th minute Samaras set up Forrest with a cut-back after forcing his way into the box, but the Scotland international’s left-footed effort was stopped by Samson.
After that Celtic’s early enthusiasm waned somewhat. Stokes had the ball in the net with a drive but long after the offside flag was raised.
Thompson replaced Teale for the start of the second half but just seconds after the restart Samson had to make a close-range save from Hooper with the St Mirren defence in disarray.
In the 48th minute a flowing Celtic move ended with skipper Beram Kayal firing in a shot from Stokes’ cross which was too close to Samson.
Moments later Samaras displayed his confidence with a snap-shot from 25 yards but Samson also saved with a degree of ease.
However, Saints’ resistance crumbled and in the 53rd minute Celtic appeared to seal the points when Hooper grabbed his second.
Victor Wanyama’s pass sent Stokes racing down the left and despite the attentions of McAusland, the Irishman cut the ball into the box for Hooper, who easily turned Lee Mair before firing past Samson from close range.
Three minutes later the former Scunthorpe player earned himself the match ball with another fine piece of finishing.
After getting the break of the ball when he tried a one-two with Forrest, he clipped the ball over Samson from 10 yards for his third.
In the 65th minute Celtic boss Lennon replaced Forrest with former Rangers youth player McGeouch and within minutes he grabbed a brilliant first goal for Celtic after robbing St Mirren midfielder Kenny McLean inside his own half.
He skipped past Buddies midfielder Jim Goodwin as he raced towards the St Mirren box, using Stokes as a decoy before driving low past the hapless Samson to confirm the convincing win.
In the final seconds Kayal’s shot appeared to strike Mair on the hand but referee Steven McLean ignored penalty claims.
Celtic fans will now turn their attention to Rugby Park tomorrow to see if there is more encouragement in their rejuvenated title bid.