Nigel Hasselbaink's equaliser ensured St Johnstone remain unbeaten in the league against Celtic in 2012/13.
Saints keeper Alan Mannus twice denied Gary Hooper early on before Mehdi Abeid hit the side-netting for the hosts.
Celtic took the lead before half-time when Efe Ambrose headed in Emilio Izaguirre's cross from the left.
Both Steven MacLean and Frazer Wright had headed goals ruled offside for the Perth side before Hasselbaink curled beyond Fraser Forster late on.
Celtic were still looking for their first Scottish Premier League win over St Johnstone this season, having lost at McDiarmid Park in September and drawn in Glasgow at the end of October.
And within the opening five minutes Neil Lennon's men had a couple of great chances to get their noses in front.
Mannus saved two Hooper shots with his feet in close succession after the Englishman had been put through by Kris Commons and Charlie Mulgrew respectively.
Celtic's Lassad Nouioui glanced a header wide from Izaguirre's left-wing cross minutes later, underlining the visitors' early dominance.
St Johnstone's first serious threat up-field came on 15 minutes when Michael Doughty clipped a clever ball through for striker MacLean to pursue, but Mulgrew was alert to clear for a corner.
Then on 27 minutes, a lax touch in the box from Ambrose presented Abeid with an opportunity he was not expecting, and perhaps that showed as the Frenchman could only hit the side-netting with his shot from 12 yards.
Celtic immediately went up the park and and Victor Wanyama's precise through ball released Joe Ledley on the left-hand-side of the box and his low left-footed effort was again kept out by Mannus.
Ledley turned provider on 34 minutes, cutting back for Lassad who saw his first-time side-footed shot from six yards cleared by St Johnstone captain Wright.
However, Celtic's pressure finally paid off three minutes later.
A short corner from Commons found Izaguirre on the left, who swung in a cross for Ambrose to head into Mannus's far corner and register his second goal in two games.
Saints' boss Steve Lomas introduced forward Gregory Tade in place of Doughty as they sought a more attacking approach in the second half.
And the Perth side did have the ball in the back of the net on 55 minutes, although MacLean's header from Abeid's free-kick was ruled offside.
On the hour-mark Saints sniffed around the Celtic goal-mouth again.
A long ball was headed down at the back post by Wright for Tade to try to finish off from close-range, but Fraser Forster eventually gathered after fumbling initially.
Then, with the visitors looking increasingly uncomfortable with St Johnstone's renewed energies, another goal was disallowed for the hosts.
The linesman's flag was raised again as Wright's looping header from Craig's free-kick hit the net, even though the defender appeared to be onside.
But in the 82nd minute St Johnstone did get their equaliser.
Abeid fed substitute Hasselbaink on the edge of the box and the Dutchman turned Celtic defender Thomas Rogne before finishing with a delightful curling shot into Forster's far corner.
The visitors reacted immediately as James Forrest's shot flashed wide, then Mannus had to save excellently from Mulgrew's effort which deflected off the head of Craig.
St Johnstone held on to secure the point, though, moving up to fifth place in the SPL.
Full Time The game is over, as the referee blows his whistle.
The ball is crossed by Gregory Tade, clearance by Emilio Izaguirre. Corner taken left-footed by Liam Craig, David McCracken has a headed effort at goal from close in which goes wide left of the goal.
Free kick awarded for an unfair challenge on Frazer Wright by Anthony Stokes. Direct free kick taken by David McCracken.
The ball is swung over by Emilio Izaguirre, Steven Anderson manages to make a clearance.
Nigel Hasselbaink concedes a free kick for a foul on Efe Ambrose. Efe Ambrose restarts play with the free kick.
Foul by Gregory Tade on Thomas Rogne, free kick awarded. Free kick taken by Victor Wanyama.
Emilio Izaguirre produces a cross, Mehdi Abeid manages to make a clearance.
Emilio Izaguirre sends in a cross, blocked by Patrick Cregg. Corner taken left-footed by Charlie Mulgrew, Efe Ambrose gives away a free kick for an unfair challenge on David McCracken. Alan Mannus restarts play with the free kick.
Patrick Cregg takes a shot. Save by Fraser Forster.
Substitution Lassad Nouioui leaves the field to be replaced by Anthony Stokes.
Effort from the edge of the penalty area by James Forrest goes wide of the left-hand post.
Emilio Izaguirre takes the direct free kick.
Booking Kelvin Wilson receives a yellow card.
Booking Patrick Cregg booked.
Patrick Cregg challenges Kelvin Wilson unfairly and gives away a free kick.
Assist by Patrick Cregg.
81:16 Goal scored
Goal! - Nigel Hasselbaink - St J'stone 1 - 1 Celtic Nigel Hasselbaink gets on the score sheet with a goal from just outside the penalty box to the top right corner of the goal. St Johnstone 1-1 Celtic.
Corner taken left-footed by Charlie Mulgrew from the right by-line to the near post, clearance made by Frazer Wright.
Substitution Steven MacLean leaves the field to be replaced by Gwion Edwards.
Foul by Joe Ledley on Mehdi Abeid, free kick awarded. Direct free kick taken by Liam Craig.
Free kick awarded for a foul by Steven Anderson on Charlie Mulgrew. The free kick is delivered left-footed by Charlie Mulgrew from left wing, clearance made by Steven Anderson.
The ball is delivered by Charlie Mulgrew, blocked by Mehdi Abeid. Corner taken by Charlie Mulgrew played to the near post, Frazer Wright manages to make a clearance.
Substitution Thomas Rogne is brought on as a substitute for Adam Matthews.
The ball is delivered by Emilio Izaguirre, Steven Anderson gets a block in. Corner from the left by-line taken by Charlie Mulgrew, Frazer Wright makes a clearance.
Gregory Tade concedes a free kick for a foul on Charlie Mulgrew. Charlie Mulgrew takes the free kick.
Emilio Izaguirre challenges Mehdi Abeid unfairly and gives away a free kick. Free kick crossed by Liam Craig. Frazer Wright is flagged offside by the assistant referee. Fraser Forster restarts play with the free kick.
Centre by Thomas Scobbie, clearance made by Charlie Mulgrew.
Substitution James Forrest replaces Kris Commons.
Substitution Nigel Hasselbaink comes on in place of Rowan Vine.
Shot from just outside the area by Rowan Vine misses to the right of the target.
Free kick awarded for an unfair challenge on Charlie Mulgrew by Steven MacLean. Charlie Mulgrew takes the direct free kick.
Foul by Patrick Cregg on Victor Wanyama, free kick awarded. Charlie Mulgrew takes the free kick. Kris Commons is caught offside. Free kick taken by Alan Mannus.
The ball is sent over by Adam Matthews, clearance by Steven Anderson.
The ball is sent over by Liam Craig, Frazer Wright takes a shot. Save made by Fraser Forster.
Victor Wanyama takes a shot. Alan Mannus makes a save.
Corner taken by Kris Commons from the right by-line to the near post, save by Alan Mannus.
Free kick awarded for an unfair challenge on Steven MacLean by Efe Ambrose. Mehdi Abeid takes the free kick. The assistant referee signals for offside against Steven MacLean. Fraser Forster restarts play with the free kick.
The official flags Gary Hooper offside. Alan Mannus takes the free kick.
Free kick awarded for an unfair challenge on Kelvin Wilson by Steven MacLean. Direct free kick taken by Fraser Forster.
Rowan Vine fouled by Joe Ledley, the ref awards a free kick. Rowan Vine takes the direct free kick.
Free kick awarded for a foul by Rowan Vine on Victor Wanyama. Efe Ambrose restarts play with the free kick.
Emilio Izaguirre produces a cross, save by Alan Mannus.
Patrick Cregg challenges Joe Ledley unfairly and gives away a free kick. Direct free kick taken by Kris Commons.
Victor Wanyama produces a cross, clearance made by David McCracken.
The referee blows his whistle to start the second half.
Substitution Gregory Tade is brought on as a substitute for Michael Doughty.
45:00 +0:05 Half time
Half Time It is the end of the first-half.
Joe Ledley takes a shot from a long way out which goes wide of the right-hand upright.
A cross is delivered by Emilio Izaguirre, Victor Wanyama takes a shot. Save by Alan Mannus.
Kris Commons decides to take a short corner, Kelvin Wilson challenges David McCracken unfairly and gives away a free kick. Alan Mannus takes the free kick.
The ball is delivered by Emilio Izaguirre, clearance by Thomas Scobbie.
Charlie Mulgrew restarts play with the free kick.
Booking The referee shows Steven MacLean a yellow card.
Joe Ledley fouled by Steven MacLean, the ref awards a free kick.
Assist on the goal came from Emilio Izaguirre.
36:55 Goal scored
Goal! - Efe Ambrose - St J'stone 0 - 1 Celtic Efe Ambrose grabs a headed goal from inside the area. St Johnstone 0-1 Celtic.
The ball is delivered by Emilio Izaguirre,
Gary Hooper produces a cross, clearance by David McCracken.
Lassad Nouioui takes a shot. Save by Alan Mannus.
The ball is sent over by Adam Matthews.
The ball is sent over by Adam Matthews, Alan Mannus makes a save.
Joe Ledley produces a cross.
Joe Ledley takes a shot. Save by Alan Mannus.
Mehdi Abeid has an effort at goal from just inside the box that misses to the right of the goal.
Shot by Joe Ledley from outside the box goes over the net.
Effort on goal by Lassad Nouioui from 12 yards. Alan Mannus makes a save.
The ball is swung over by Kris Commons.
Kris Commons restarts play with the free kick.
Booking Michael Doughty shown a yellow card.
Free kick awarded for a foul by Michael Doughty on Emilio Izaguirre.
Steven MacLean concedes a free kick for a foul on Kelvin Wilson. Fraser Forster takes the free kick.
Emilio Izaguirre gives away a free kick for an unfair challenge on Steven Anderson. The free kick is swung in left-footed by Liam Craig, save by Fraser Forster.
Inswinging corner taken by Mehdi Abeid, clearance by Kelvin Wilson.
Kris Commons is ruled offside. Alan Mannus takes the free kick.
Free kick awarded for a foul by Mehdi Abeid on Victor Wanyama. Victor Wanyama restarts play with the free kick.
Short corner taken by Kris Commons.
Unfair challenge on Joe Ledley by Liam Craig results in a free kick. Joe Ledley takes the free kick.
Rowan Vine concedes a free kick for a foul on Adam Matthews. Kelvin Wilson takes the free kick.
Emilio Izaguirre crosses the ball, David McCracken manages to make a clearance.
Kris Commons fouled by Steven Anderson, the ref awards a free kick. Joe Ledley restarts play with the free kick.
Headed effort from inside the area by Lassad Nouioui misses to the right of the goal.
The offside flag is raised against Adam Matthews. Alan Mannus restarts play with the free kick.
Gary Hooper takes a shot. Save by Alan Mannus.
Free kick awarded for a foul by Gary Hooper on Thomas Scobbie. Free kick taken by Mehdi Abeid.
Unfair challenge on Steven MacLean by Victor Wanyama results in a free kick. David McCracken restarts play with the free kick.
Gary Hooper takes a shot. Save made by Alan Mannus.
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.