Substitute Moussa Dembele scored a sensational second-half hat-trick as Celtic extended their unbeaten domestic run to 29 games with a 5-2 win at St Johnstone.
Midfielder Liam Henderson curled in the opener for the runaway Ladbrokes Premiership leaders in the sixth minute but Saints defender Keith Watson equalised with a header before an own goal by Hoops defender Dedryck Boyata had the home side ahead at the interval.
Dembele, out the previous two games with a knee injury, scored with a controversial penalty in the 61st minute straight after coming on for Gary Mackay-Steven before grabbing another two, one either side of Scott Sinclair's strike, as the Parkhead side romped to victory.
Celtic's 19th consecutive league win took them 27 points clear of Aberdeen and there looks no stopping Brendan Rodgers' side although Saints will point to the penalty - the ball seemed to hit Watson's hip rather than arm - as a turning point in this game.
It looked like business as usual for the visitors when they took the lead after Saints keeper Zander Clark had saved a close-range effort from Mackay-Steven.
Clark was forced into another save, this time from Patrick Roberts' powerful drive on the angle but could only parry the ball out to Henderson who sent a curling shot from 16 yards into the net for his first Celtic goal in two years.
However, Saints steadied themselves then rallied. A snap-shot by midfielder Danny Swanson after Celtic keeper Craig Gordon cleared the ball straight to him, missed the target by a foot.
The Scotland keeper made up for it in the 18th minute when he blocked an effort from right-back Richard Foster after Swanson had opened up the Parkhead defence with a sublime reverse pass.
Mackay-Steven missed another chance for Celtic on the counter-attack after Foster had lost the ball to Sinclair with Clark racing from his goal to block a tame side-footed effort by the former Dundee United winger.
The home side's leveller came from a deep Swanson corner with Watson rising above Celtic midfielder Nir Bitton to power in a header past Gordon.
David Wotherspoon headed a Swanson cross past the post from eight yards and two minutes before the break he rose with Boyata to challenge for a Swanson cross and was delighted to see the ball end up in the back of the net after coming off the Hoops defender.
There was time before the interval for Clark to make another save from Roberts and the Perth side were promised a tough second half.
Celtic came storming out after the break but Saints had a penalty claim turned down in the 53rd minute by referee Craig Thomson after Hoops skipper Scott Brown had tangled with Swanson inside the box.
However, Thomson did award a penalty minutes later when he adjudged Parkhead left-back Kieran Tierney's cross to have struck Watson on the arm although the ball looked to have come off his hip.
Dembele, who had just replaced Mackay-Steven, took no notice of St Johnstone's protestations and slammed the penalty high past Clark for his 21st goal of the season.
The champions pressed for the winner and it came when right-back Mikael Lustig's cut-back to Dembele was steered in from 16 yards by the French striker.
The goal deflated Saints who were caught on a counter with Roberts rolling the ball to Sinclair to drive in number four before Dembele slotted in number five from 12 yards after taking a pass from fellow substitute Callum McGregor.