In a game which was spoiled by the wind, Celtic's best effort in the first-half was Gary Hooper's long-distance strike which St Mirren goalkeeper Craig Samson saved.
Celtic keeper Fraser Forster was forced to make a string of saves, the best being from former Parkhead midfielder Paul McGowan.
But in the 71st minute Forrest took a pass from Scott Brown and beat Samson from the edge of the box before the Hoops skipper grabbed number two with two minutes remaining with a great curling shot from outside the box. The victory extended Celtic's winning run in the SPL to 12 games.
Hoops boss Neil Lennon made three changes for the trip to Paisley.
In came full-back Cha Du-ri, midfielder Ki Sung-yueng and winger Forrest, with Adam Matthews, Emilio Izaguirre and Anthony Stokes dropping to the bench. Buddies' new signing Dougie Imrie, who completed his move from Hamilton on Friday, went straight into Danny Lennon's side with Gary Teale starting as substitute.
The swirling wind made good football difficult, but Celtic controlled the game in the early stages with their initial threat coming from Cha down the right-hand side.
The first effort on goal, though, came in the 12th minute from St Mirren.
Former Celt Graham Carey's corner from the right was met at the back post by unmarked Buddies defender Marc McAusland and his half-volley from 10 yards was straight at Forster.
Three minutes later Celtic striker Hooper took a pass from Georgios Samaras and his looping, wind-assisted effort from 35 yards had Saints keeper Samson scrambling to make a fine save for a corner.
The Paisley side survived only when Samson made another save after his own stand-in skipper Steven Thompson inadvertently headed towards his own goal.
In the 21st minute Thompson came close at the other end when his diving header from an Imrie cross was saved by Forster.
St Mirren had worked their way back into the game and in the 38th minute, after Celtic defender Thomas Rogne half-cleared an Imrie cross from the right with his head, Carey's angled-volley from 16 yards sped wide of Forster's left-hand post.
Two minutes from the break Forrest's cross from the right skipped off the top of the bar and behind but although there did not appear to be a deflection, referee Crawford Allan awarded a corner which came to nothing.
The strong winds showed no signs of subsiding as the second-half began but it was St Mirren who took the early initiative.
In the 51st minute Imrie had a left-footed drive smothered by Forster before the Celtic keeper made a great save from former Celtic midfielder McGowan, who redirected David van Zanten's strike towards goal from 10 yards out.
Stokes and Kris Commons replaced Samaras and Ki respectively in the 58th minute and moments later, after Rogne got his head to a Commons corner, there was an appeal for a penalty for handball but referee Allan awarded another corner which, again, was defended by the Paisley men.
In the 62nd minute, with the game swinging from end to end, Forster made another save from Imrie. Celtic were pressing hard for the opener and it came in the 71st minute from Forrest with his eighth goal of the season.
Following a Commons free-kick which was cleared to the edge of the box, Hoops skipper Brown set up the Scotland winger who drove low past Samson into the corner of the net.
With nothing to lose St Mirren piled forward and 10 minutes from the break Forster made another good close-range block, this time from Saints defender Lee Mair following a Carey corner.
In an exciting finale Hooper shot wide of the target from inside the box as did Imrie at the other end before Brown, with three minutes remaining, took a Commons corner outside the box and curled his shot past Samson to ensure the three points.
Rogne then had the ball in the net only to be ruled offside but it was academic to the celebrating Hoops fans.