Georgios Samaras inspired Celtic to a victory over a stubborn St Johnstone that takes Neil Lennon's side to within a point of the Scottish title.
Frazer Wright headed a Charlie Mulgrew header off the Saints line during a fairly even first half.
But Samaras powered a header home from Kris Commons' 66th-minute free-kick.
And, four minutes later, the Greek striker's low cross was turned into his own net by Chris Millar as Celtic stretched their lead to 18 points.
Those two goals ended Wright's amazing record, the defender having started the game with 911 minutes of football behind him without St Johnstone having conceded a goal while he was in their line-up away from home.
The home side had gone into the game looking to avoid losing three straight domestic games in a row for the first time since 1994.
However, getting back to winning ways - and ending Saints six-game unbeaten run - means Celtic can now depose second-top Rangers as champions when they visit Kilmarnock on Saturday.
Celtic fans sent a message of support to Stilian Petrov
Right-back Mikael Lustig had been handed his home debut, while Commons, Glenn Loovens and Gary Hooper started with Cha Du-ri and Victor Wanyama suspended and Adam Matthews and Ki Sung-Yueng dropped to the bench.
However, it was Samaras, looking majestic in recent weeks, who was the inspiration as Celtic began at breakneck speed, making their opponents looking a yard slower.
Unchanged St Johnstone, with former Celtic forward Derek Riordan not even considered fit enough for the bench after being signed as a free agent, steadied themselves and gradually worked themselves into the game.
The match itself was subdued in comparison to the 19th-minute standing ovation given by the capacity crowd as get-well wishes were sent to former Celtic midfielder Stilian Petrov following news that the Aston Villa No.19 is suffering from acute leukaemia.
A Commons drive across the face of goal and a 30-yard Liam Craig free-kick pushed away by Celtic goalkeeper Fraser Forster were the highlights until just before the stroke of half-time.
Wright's head prevented a goal after Mulgrew got his toe to the ball after goalkeeper Alan Mannus made a hash of clearing a Commons free-kick into the six-yard box and Stokes had his shot blocked on the rebound by the Saints defender.
Cillian Sheridan headed wide from eight yards when he ought to have hit the target then Francisco Sandaza sent a looping header onto the roof of the net as Saints began the brighter after the break.
Mannus clawed away a curling Commons effort, but the goalkeeper was left helpless when the winger's free-kick found the head of Samaras 10 yards out to open the scoring.
Saints had claims for a penalty rejected moments later when Loovens checked Sandaza's progress.
And, as the visitors claimed for a foul for a Commons challenge on Craig, Celtic raced to the other end and Millar diverted a low Samaras cross past Mannus.
Craig had a blistering free-kick turned over the crossbar by Forster and then fired over with the goal at his mercy after the goalkeeper could only parry a Sandaza cross as Saints applied some belated pressure.
Celtic manager Neil Lennon
: ''Absoulety delighted with that, although we were not at our best in the first half.
"We wanted a wee bit more intensity to our play, particularly in the froward areas. We certainly got that in the second half and it's a huge win.'
''It's really hard winning games, even more hard winning championships.
"But Samaras has come to the fore in recent months and he was fantastic today.'
"I admit I didn't fancy his consistency and his mentality, so we've had to work away with him.''
St Johnstone manager Steve Lomas
: "My boys were brilliant yet again.
"Probably the only criticism I can aim at them is that, when you have your chances, you have to take them and we didn't do that.
"Celtic Park is a hard enough place to come to get something, they are a fantastic team, they thoroughly deserve the championship when it comes, but we feel mightily aggrieved.
"I don't want to criticise referees, but in our opinion, Francisco Sandaza has a blatant penalty, the second goal is a free-kick on Liam and even the first goal came from a very soft free-kick."
Full Time The final whistle is blown by the referee.
90:00 +0:50 Substitution
Substitution Kudus Oyenuga is brought on as a substitute for Lee Croft.
Chris Millar concedes a free kick for a foul on Kris Commons. Strike on goal comes in from Charlie Mulgrew from the free kick, save made by Alan Mannus.
The ball is swung over by Andre Blackman, save made by Alan Mannus.
The ball is delivered by Scott Brown.
Substitution (Celtic) makes a substitution, with Andre Blackman coming on for Gary Hooper.
Shot on goal by Liam Craig from just inside the area goes over the target.
The ball is swung over by Charlie Mulgrew, save made by Alan Mannus.
Substitution Kevin Moon comes on in place of Jody Morris.
Sung-Yeung Ki takes a shot from just inside the penalty box which clears the crossbar.
Corner taken by Chris Millar, Sung-Yeung Ki makes a clearance.
Joe Ledley gives away a free kick for an unfair challenge on Lee Croft. Lee Croft takes the direct free kick.
Corner taken right-footed by Kris Commons, Lee Croft manages to make a clearance.
Charlie Mulgrew gives away a free kick for an unfair challenge on Francisco Sandaza. Liam Craig delivers the ball from the free kick left-footed from right channel, clearance by Charlie Mulgrew.
Georgios Samaras takes a shot. Save by Alan Mannus.
Lee Croft produces a cross, Liam Craig challenges Adam Matthews unfairly and gives away a free kick. Free kick taken by Thomas Rogne.
Booking Liam Craig is cautioned.
Georgios Samaras provided the assist for the goal.
69:21 Goal scored
Goal! - Chris Millar - Celtic 2 - 0 St J'stone An own goal is conceded by Chris Millar. Celtic 2-0 St Johnstone.
Georgios Samaras delivers the ball.
Short corner taken by Liam Craig.
Liam Craig takes a inswinging corner to the near post, clearance by Charlie Mulgrew.
Centre by Lee Croft, clearance by Adam Matthews.
Kris Commons provided the assist for the goal.
65:38 Goal scored
Goal! - Georgios Samaras - Celtic 1 - 0 St J'stone Georgios Samaras scores a headed goal from inside the box. Celtic 1-0 St Johnstone.
Sung-Yeung Ki fouled by Lee Croft, the ref awards a free kick. The ball is sent over by Kris Commons,
The official flags Charlie Mulgrew offside. Alan Mannus takes the free kick.
Substitution Sung-Yeung Ki comes on in place of Anthony Stokes.
Corner taken by Kris Commons played to the near post, Alan Maybury manages to make a clearance.
Inswinging corner taken from the right by-line by Joe Ledley.
Chris Millar has an effort at goal from just outside the penalty box which goes wide of the left-hand post.
Centre by Georgios Samaras, David MacKay makes a clearance.
Corner taken by Liam Craig, Fraser Forster makes a save.
Substitution Adam Matthews comes on in place of Mikael Lustig.
Free kick awarded for a foul by Scott Brown on Lee Croft. Free kick taken by Alan Mannus.
Francisco Sandaza gives away a free kick for an unfair challenge on Charlie Mulgrew. Free kick taken by Fraser Forster.
Anthony Stokes sends in a cross, save by Alan Mannus.
Free kick awarded for a foul by Mikael Lustig on Francisco Sandaza. Jody Morris takes the free kick.
The ball is crossed by Anthony Stokes, save made by Alan Mannus.
Unfair challenge on Georgios Samaras by David MacKay results in a free kick. Mikael Lustig takes the free kick.
Effort from the edge of the box by Cillian Sheridan goes wide of the left-hand post.
Free kick awarded for a foul by Chris Millar on Gary Hooper. Free kick taken by Kris Commons.
The second half kicks off.
45:00 +0:01 Half time
Half Time The ref blows to signal half-time.
Lee Croft is flagged offside by the assistant referee. Fraser Forster restarts play with the free kick.
Kris Commons has an effort from just inside the box that misses to the left of the target.
Kris Commons shoots direct from the free kick, blocked by David MacKay. Anthony Stokes takes a shot. Blocked by Frazer Wright.
Booking Booking for Lee Croft.
Inswinging corner taken right-footed by Kris Commons, David MacKay manages to make a clearance. Georgios Samaras sends in a cross, Alan Mannus makes a save. Lee Croft concedes a free kick for a foul on Joe Ledley.
Anthony Stokes takes a shot. Save by Alan Mannus.
Lee Croft takes the inswinging corner, save by Fraser Forster.
Anthony Stokes produces a right-footed shot from the edge of the area and misses to the left of the goal.
Georgios Samaras sends in a cross, David McCracken manages to make a clearance.
Foul by David McCracken on Kris Commons, free kick awarded. Kris Commons takes the free kick.
Unfair challenge on Kris Commons by David MacKay results in a free kick. Direct free kick taken by Kris Commons.
The referee penalises Georgios Samaras for handball. Direct free kick taken by Alan Mannus.
The ball is delivered by Anthony Stokes.
Cillian Sheridan concedes a free kick for a foul on Thomas Rogne. Free kick taken by Mikael Lustig.
Booking Alan Maybury goes into the referee's book for unsporting behaviour.
Cross/shot by Kris Commons.
Gary Hooper takes a shot. Alan Mannus makes a save.
Corner taken by Liam Craig from the right by-line, save made by Fraser Forster.
Kris Commons has an effort at goal from just inside the box that misses to the left of the goal.
Centre by Lee Croft.
Inswinging corner taken left-footed by Liam Craig.
Shot from outside the box by Jody Morris misses to the left of the target.
A cross is delivered by Charlie Mulgrew, clearance by David MacKay.
Joe Ledley takes a shot. Alan Mannus makes a save.
The ball is swung over by Georgios Samaras, clearance made by David McCracken.
The ball is delivered by Kris Commons, Jody Morris makes a clearance.
Free kick awarded for an unfair challenge on Georgios Samaras by Liam Craig. Anthony Stokes has an effort direct from the free kick.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.