Lee Erwin scored his first St Mirren goal, but it wasn't enough to prevent Saints from being edged out against Celtic.
The forward, who joined Jim Goodwin's side last week, was making his first start for the Buddies as the manager selected the forward to lead the line the evening.
His selection paid dividends as he netted inside the first three minutes to give us the perfect start. Joe Shaughnessy, returning from suspension, nodded a corner on to the back post where it met the forward who got in ahead of Vasilias Barkas to bundle home.
But Celtic levelled on 21 minutes when Shane Duffy scored his second goal in as many games. The Irish defender ghosted in ahead of the Saints defence to nod Ryan Christie's free-kick beyond Zdenek Zlamal to equalise.
Callum McGregor and Odsonne Edouard were both denied by Zlamal as Celtic looked to take control. The former's powerful drive from range was well held by the Czech goalkeeper, while the latter saw an effort blocked from point blank range. But the Hoops weren't to kept at bay much longer as James Forrest gave the away side the lead on 36 minutes when he headed a Christie cross home from eight yards.
Zlamal was called into action early in the second-half as he did well to push away an Edouard free-kick on 49 minutes.
Saints were still very much in the match and had a decent opportunity on the hour mark after a good counter attack which saw Erwin fire over from the edge of the Celtic area. Seven minutes later it was McGrath who would send a strike over after getting on the end of Morias' headed ball inside the area.
Celtic could have wrapped up the win with 15 minutes remaining when they were awarded a penalty after Christie went down in the box under the challenge of Jamie McGrath. Edouard stepped up and stuttered with Zlamal diving the right way to push away the spot kick.
Jim Goodwin brought Jon Obika and Ilkay Durmus on as he searched for a late equaliser, but it wasn't to be as Celtic left Paisley with the points.
Full-Time: St Mirren 1-2 Celtic
St Mirren: Zlamal, Fraser, Shaughnessy, McCarthy, Tait, Morias (Obika 80), McGrath, Foley (Durmus 90), Erhahon, Connolly (McAllister 64), Erwin
Subs Not Used: Urminsky, MacPherson, Sheron, Jamieson
Celtic: Barkas, Elhamed, Ajer, Duffy, Taylor, Forrest (Frimpong 80), McGregor, Brown (c), Christie, Klimala (Ajeti 66), Edouard (Ntcham 80)
Subs Not Used: Bain, Jullien, Bitton, Soro, Turnbull, Elyounoussi
Referee: John Beaton
Assistant Referee: Dougie Potter
Assistant Referee: Andrew McWilliam
Fourth Official: Craig Napier