Celtic’s season lurched back into disarray with their first home defeat to St Mirren since 1990.
Buddies attacker Kristian Dennis fired in the opener in the 18th minute before French striker Odsonne Edouard levelled just after the half-hour mark.
However, Ilkay Durmus restored Saints’ lead in the 37th minute, with more questions around centre-back Shane Duffy’s defending after the visitors ran out 2-1 winners.
After their midweek win over Hamilton – their first victory in five games – more was expected from Neil Lennon’s side. However, again they failed to deliver and remain 23 points behind league leaders Rangers with two games in hand.
It was a momentous day for the Saints, who went into the game on the back of a 5-1 win at Dundee United in midweek.
- How the teams lined up | Match stats
- Lennon at 'lowest point' as Celtic manager
- Scottish Premiership fixtures | results | table
However, with a heavy fixture schedule ahead, boss Jim Goodwin made four changes with Kyle McAllister, Cammy MacPherson, Dylan Connolly and Dennis handed starts.
Unchanged Celtic set the pace from the first whistle but the Paisley defence held firm before the visitors began to edge up the pitch.
Dennis and Jamie McGrath tested Scott Bain with long-range efforts before a well-worked move saw Connolly cut the ball back for Dennis to take a touch inside the box and rifle a drive past the Celtic goalkeeper.
The buoyed Buddies began to move forward with increasing confidence and in the 26th minute Bain had to deal with a low drive from Dennis.
Celtic could not find top gear but they drew level in the 32nd minute when Edouard took a pass from skipper Callum McGregor and knocked the ball past Jak Alnwick from 12 yards for his 14th goal of the season.
However, back came the visitors and when Durmus controlled a McAllister cross into the box and Duffy got himself in a tangle, allowing the St Mirren player to fire past Bain from inside the six-yard box.
Alnwick saved from Celtic midfielder David Turnbull’s low drive moments later but again the home side’s response to going behind was lukewarm.
Stephen Welsh and Tom Rogic replaced Nir Bitton and Leigh Griffiths for the start of the second half but the home side still struggled to find their rhythm, despite dominating the ball.
Then came more substitutes to disrupt the flow.
On the hour Dennis and McAllister made way for Eamonn Brophy and Jake Doyle-Hayes, with Albian Ajeti and Ryan Christie coming on for Mohamed Elyounoussi and Ismaila Soro.
Celtic began to force the Paisley side back but the visitors’ defence remained resolute and determined.
Any time an opening emerged or a shot was taken there was invariably a St Mirren body in the way and the vibrant visitors changed again when Jon Obika replaced MacPherson.
The reigning champions tried to crank up the pressure – Rogic came close with a curling shot in the 83rd minute and Alnwick saved a Duffy header in added time – but Goodwin’s side would not be denied a famous win in what was a another demoralising afternoon for Celtic.
Celtic travel to Kilmarnock (7.45pm), with that match live on Sky Sport Football, while St Mirren host Hibernian (6pm), with both games on Tuesday.