After a comfortable start to the game Kristian Dennis fired in a lovely volleyed opener to beat Scott Bain and send the Saints into a surprise lead, but Odsonne Edouard was laid on for an equally good finish by Callum McGregor.
Celtic failed to capitalise on it though and blunders from Kris Ajer and Shane Duffy allowed Ilkay Durmus to fire past Bain for Saints’ second.
That’s how it finished despite several changes made by Neil Lennon – including young Stephen Welsh who showed up well having been the fans’ choice pre-match to come in to the Hoops’ backline.
Here’s how the Celtic players rated using our usual ratings scale
Player ratings scale - 10: One of the best performances you've seen. 9: Outstanding. 8: Very good. 7: Good. 6: Average. 5: Poor, 4: Very poor. 3: A terrible day at the office. 2: Abysmal. 1: One of the worst performances you've seen.
A message from the Editor:Thank you for reading this article. We're more reliant on your support than ever as the shift in consumer habits brought about by Coronavirus impacts our advertisers.If you haven't already, please consider supporting our trusted, fact-checked journalism by taking out a digital subscription.
1. Scott Bain - 6
Goalkeeper didn't have much chance with either goal and didn't do too much wrong Photo: Craig Williamson - SNS Group / SFA
2. Greg Taylor - 5
Defender was given a tough time by Saints' wide players and first goal came from his side, but far from the worst in green and white. Photo: Craig Foy - SNS Group
3. Nir Bitton - 4
Half of a central defensive pairing that is far from commanding enough and too hesitant at the goals to provide any support Photo: Craig Williamson - SNS Group
4. Shane Duffy - 4
On-loan defender lasted the 90 unlike Bitton but stepping off Durmus for Saints' winner is unforgivably slack from any defender, nevermind one of his experience. Close with a late header. Photo: Alan Harvey - SNS Group