St Johnstone missed out on a club record sixth consecutive top-flight victory after drawing at Inverness.
Inverness won a penalty when Graeme Shinnie went down in the box, but his brother Andrew scooped his effort over.
However, moments later, a low drive by striker Billy McKay went under Saints keeper Alan Mannus to break the deadlock for Inverness.
But the home side were made to pay for missed chances when David Robertson headed home a last-minute equaliser.
Shinnie's missed spot-kick midway thorugh the second half suddenly sparked a drab, featureless game into life.
And Robertson's dramatic stoppage time equaliser ensures both form teams continue their unbeaten runs as they prepare to visit Old Firm rivals in the quarter finals of the Scottish Communities League Cup.
The best of an uneventful first half came after just six minutes when Inverness defender Josh Meekings failed to deal with a long ball from Chris Millar.
This left Gregory Tade one-on-one with Inverness keeper Antonio Reguero who repaid manager Terry Butcher's decision to stick with him after Ryan Esson's recovery from injury by pulling off a great save.
For Inverness, David Raven had a couple of long range efforts before Tade headed over and Reguero made another fine save from Rowan Vine at an acute angle.
Into the second half, Vine again missed out when he failed to get a proper touch on Chris Millar's free kick.
And Raven sent across a dangerous ball but this was cut out by the head of Saints defender Steven Anderson.
With 20 minutes left, the game at last sparked into real action when Graeme Shinnie was upended by Vine and the defender's brother opted to take the penalty.
However, only the upper reaches of the North Stand prevented the ball from landing in the Beauly Firth as the Caley Thistle midfielder blasted it wildly over.
The miss glavanised the home team and, after 74 minutes, they went ahead after Andrew Shinnine and Ross Draper set up McKay to fire the home side into the lead.
Shortly after, McKay could have extend the lead but Alan Manus produced a great save to deny the Inverness striker.
St Johnstone then managed to overturn Caley Thistle's sudden dominance and at the other end Liam Craig came close to an equaliser but his effort went narrowly over the bar.
But that equaliser did eventually come in the third and final minute of stoppage time when the Inverness defence allowed a ball to bounce unchallenged close to substitute Robertson, who headed it in at the left post.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The match has reached full-time.90:00 +1:18
Gary Miller provided the assist for the goal.90:00 +1:18 Goal scored
Goal! - David Robertson - Inverness 1 - 1 St J'stone David Robertson finds the back of the net with a headed goal from close range. Inverness CT 1-1 St Johnstone.90:00 +0:36
Free kick awarded for an unfair challenge on Thomas Scobbie by Aaron Doran. Alan Mannus takes the free kick.90:00 +0:14
Free kick awarded for an unfair challenge on Owain Tudur Jones by Chris Millar. Free kick taken by Graeme Shinnie.88:48 Substitution
Substitution Andrew Shinnie goes off and Gavin Morrison comes on.88:34
Shot from just outside the box by Andrew Shinnie goes over the crossbar.87:07
Strike by David Robertson from inside the six-yard box clear the bar.83:40
Aaron Doran has an effort from just inside the box that misses to the left of the target.82:08 Substitution
Substitution David Robertson joins the action as a substitute, replacing Gregory Tade.82:08
Graeme Shinnie gives away a free kick for an unfair challenge on Chris Millar. Gary Miller restarts play with the free kick.81:36
Shot by Murray Davidson from outside the box goes over the target.79:57
Unfair challenge on Andrew Shinnie by Thomas Scobbie results in a free kick. Graeme Shinnie takes the direct free kick.79:06
Aaron Doran decides to take a short corner.78:32
Free kick awarded for an unfair challenge on Andrew Shinnie by Gary Miller. Graeme Shinnie restarts play with the free kick.77:13
Andrew Shinnie takes a shot. David MacKay makes a clearance. Corner taken by Graeme Shinnie from the left by-line.76:33
Billy McKay takes a shot. Save by Alan Mannus.74:29
Owain Tudur Jones takes a shot. Murray Davidson gets a block in. Corner taken left-footed by Graeme Shinnie.72:49
The assist for the goal came from Ross Draper.72:49 Goal scored
Goal! - Billy McKay - Inverness 1 - 0 St J'stone Billy McKay fires in a goal from close in high into the middle of the goal. Inverness CT 1-0 St Johnstone.
Substitution Shane Sutherland replaces Philip Roberts.70:14 Penalty
Penalty missed over the bar by Andrew Shinnie.70:14
Graeme Shinnie fouled by Gary Miller, the ref awards a Penalty.66:33
Murray Davidson fouled by Billy McKay, the ref awards a free kick. Direct free kick taken by David MacKay.65:58
David MacKay fouled by Billy McKay, the ref awards a free kick. Alan Mannus takes the indirect free kick.64:38
Direct free kick taken by Josh Meekings.64:38 Substitution
Substitution Steven MacLean on for Nigel Hasselbaink.64:38
Steven Anderson concedes a free kick for a foul on Billy McKay.63:20
Inswinging corner taken by Aaron Doran.60:22 Substitution
Substitution (St Johnstone) makes a substitution, with Thomas Scobbie coming on for Frazer Wright.55:58
Rowan Vine challenges Graeme Shinnie unfairly and gives away a free kick. Direct free kick taken by Graeme Shinnie.50:36
Murray Davidson fouled by Andrew Shinnie, the ref awards a free kick. Free kick taken by David MacKay.45:01
The match restarts for the second half.45:00 +0:55 Half time
Half Time The half-time whistle blows.45:00 +0:37
Inswinging corner taken from the right by-line by Chris Millar.42:45
Liam Craig has an effort at goal from outside the box which goes wide right of the goal.40:21
Ross Draper takes a shot. Save by Alan Mannus.37:07
The assistant referee flags for offside against Liam Craig. Antonio Reguero restarts play with the free kick.29:09
Murray Davidson concedes a free kick for a foul on Philip Roberts. Direct free kick taken by Graeme Shinnie.27:21
Liam Craig fouled by David Raven, the ref awards a free kick. Free kick taken by David MacKay, Gregory Tade produces a header from deep inside the six-yard box that clears the crossbar.26:07
Corner taken left-footed by Liam Craig from the right by-line, Frazer Wright has a headed effort from close in and clears the bar.22:21
David Raven challenges Murray Davidson unfairly and gives away a free kick. David MacKay restarts play with the free kick.20:43
Foul by Chris Millar on Aaron Doran, free kick awarded. Direct free kick taken by Graeme Shinnie.18:40
Unfair challenge on Andrew Shinnie by Chris Millar results in a free kick. Free kick crossed right-footed by Aaron Doran from left channel.17:06
Liam Craig takes a shot from 35 yards and went wide right of the goal.15:58
Murray Davidson fouled by Owain Tudur Jones, the ref awards a free kick. Murray Davidson takes the direct free kick.14:42
The offside flag is raised against Nigel Hasselbaink. Antonio Reguero restarts play with the free kick.12:30
Ross Draper takes a shot. Save by Alan Mannus.8:40
Free kick awarded for a foul by Murray Davidson on David Raven. Graeme Shinnie takes the free kick.8:40 Booking
Booking Murray Davidson receives a yellow card.8:00
Gary Miller gives away a free kick for an unfair challenge on Philip Roberts. Free kick taken by Graeme Shinnie.7:27
Gregory Tade fouled by Owain Tudur Jones, the ref awards a free kick. Alan Mannus takes the indirect free kick.6:46
Graeme Shinnie takes the inswinging corner, Gregory Tade makes a clearance.4:02
David MacKay fouled by Owain Tudur Jones, the ref awards a free kick. David MacKay takes the free kick.2:10
Foul by Gregory Tade on Gary Warren, free kick awarded. Free kick taken by Josh Meekings.0:00
The game gets underway.
Live data and text provided by our data suppliers