Celtic scored a 94th minute winner to beat St Johnstone in Perth and extend their lead at the top of the Premiership to five points.
The home side thought they had come from behind to steal a point against the champions after an injury-time equaliser from Alex Mitchell.
But the winning goal a minute later from Giorgos Giakoumakis clinched the three points for the Hoops in a game where they should have been comfortably ahead before the flurry of late drama.
Celtic came into the game on their worst run of form in over a year with only one win in the five games since their 4-0 defeat of Rangers at the start of September.
They suffered a 3-1 defeat to RB Leipzig in Germany on Wednesday night and Ange Postecoglou made six changes for the trip to Perth.
Callum McGregor, who would have missed the game through suspension regardless, was injured in the Champions League game and is expected to be out until after the World Cup.
Cameron Carter-Vickers returned to the team in the place of Moritz Jenz and was handed the armband in the McGregor’s absence.
Anthony Ralston and Liel Abada replaced Josip Juranovic and Daizen Maeda who both started the game on the bench alongside top goal-scorer Kyogo Furuhashi.
Seah Haksabanovic and Alex Bernabei made their first league starts for the Hoops in place of McGregor and Greg Taylor and Giakoumakis started his first Premiership game this season.
As expected, Celtic started the game on the front foot and had the lion’s share of the early chances with Matt O’Riley coming closest, but his long-range effort hit the post before a shot from Haksabanovic was well saved by St Johnstone goalkeeper Remi Matthews.
Jota then came close with a header after good work down the right-hand side from Ralston who beat his man before putting an inch-perfect cross onto the Portuguese winger’s head, but the effort was just wide of the post.
The opening goal came just before half-time when the St Johnstone defence was opened up by a reverse ball from Hatate to Haksabanovic who drilled the ball into the box before Andrew Considinde turned it into his own net.
Maeda replaced Jota at half-time with the manager looking forward to Tuesday’s vital home game against Leipzig.
Giakoumakis had the ball in the net at the start of the second half, but his headed goal was ruled offside and score line remained at one.
With an hour gone it was one-way traffic and Joe Hart reduced to the role of a spectator but Celtic still couldn’t turn their possession into a second goal.
Matthews made a great bottom corner save from an Abada with 25 minutes to go with the champions now starting to look frustrated and Postecoglou made three changes with Abildgaard, Mooy and James Forrest, who has scored more goals against St Johnstone than anyone else, replacing Hatate, Abada and O’Riley.
St Johnstone then had a chance to draw level when Stevie May burst through the defence, but his shot was just wide after hitting the outside of Hart’s post.
Giakoumakis had another chopped off before Connor McLelland blasted a close range shot over the Celtic bar with three minutes as the home side chased an equaliser.
Hart was then forced into action when he palmed a shot from May away before coming out to catch a cross into the box.
The late pressure from St Johnstone paid off when Mitchell equalised and looked like he had won a point but Celtic went straight up the park from kick-off and Giakoumakis was the match winner after good work from McCarthy and Bernabei on the left-hand side.
STV News is now on WhatsApp
Get all the latest news from around the countryFollow STV News
Follow STV News on WhatsApp
Scan the QR code on your mobile device for all the latest news from around the country