St Mirren stunned Rangers with a stoppage-time equaliser to claim a deserved point at Ibrox.
The Buddies gave as good as they got in the first half, Rangers mainly threatening from corners.
But Nikica Jelavic's strike broke the deadlock for the hosts three minutes after the break.
Jelavic and Steven Davis were denied by goalkeeper Craig Samson before Steven Thompson converted David van Zanten's cross to level late on.
The result allowed second-place Motherwell to move to within seven points of Scottish Premier League leaders Rangers, the Steelmen having beaten Hibernian.
Celtic, in third, remain 10 points adrift following their draw at Kilmarnock earlier in the day.
A series of early Rangers corners put the visitors under pressure and Samson had to react quickly to turn away Kyle Lafferty's shot from Gregg Wylde's delivery.
Maurice Edu also came close, the American's header drifting wide of the St Mirren goal from Davis's corner.
At the other end, keeper Allan McGregor failed to deal with a cross and Jim Goodwin's shot deflected off team-mate Lee Mair and spun out of play.
Saints continued to enjoy spells of possession in attacking areas and McGregor had one or two more nervous moments.
The hosts, for their part, were sloppy in possession for the remainder of the first half, Davis skewing a shot wide just before the break.
Jelavic lifted Rangers out of their lethargy when he fired the home side in front from 12 yards, rewarding Lafferty's persistent set-up play.
Former Rangers player Steven Thompson had the chance to level after getting the break of the ball off an Edu tackle but the big striker was denied by Steven Whittaker's last-ditch tackle.
From the corner, Marc McAusland's header from Kenny McLean's corner was wide but sufficient to cause more anxiety in the home crowd.
Lafferty and Steven Naismith combined to set up Jelavic again and, though the forward hit the target, Samson made an excellent block with his legs.
Jeroen Tesselaar crossed to his opposing full-back as St Mirren poured players forward in search of a leveller and McGregor was relieved to retrieve the ball off van Zanten's shot.
Space opened up for Naismith as Rangers looked to kill the game but the forward's shot was well off target.
Davis was more accurate with his effort but Samson was equal to it.
St Mirren continued to press in the closing stages and they were rewarded in the fifth minute of stoppage time as van Zanten's cross was turned in by substitute Teale.
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +4:13
Assist by David van Zanten.90:00 +4:13 Goal scored
Goal! - Steven Thompson - Rangers 1 - 1 St Mirren A goal is scored by Steven Thompson from inside the six-yard box to the bottom left corner of the goal. Rangers 1-1 St Mirren.90:00 +3:23
The ball is swung over by David van Zanten,90:00 +1:58
Steven Davis decides to take a short corner.90:00 +1:47
Steven Whittaker takes a shot. David van Zanten gets a block in.90:00 +0:53
Nikica Jelavic fouled by Marc McAusland, the ref awards a free kick. Free kick taken by Kirk Broadfoot.90:00 +0:21
Nikica Jelavic takes a shot. Save made by Craig Samson.88:45
Kenny McLean takes a shot. Lee McCulloch gets a block in.88:37
The ball is crossed by Paul McGowan, clearance by Kirk Broadfoot.88:18
Corner taken by Gary Teale, clearance made by Dorin Goian.88:01
Kenny McLean sends in a cross, blocked by Steven Naismith.87:40
Kenny McLean decides to take a short corner.86:54
The referee blows for offside. Allan McGregor restarts play with the free kick.85:36
Centre by Jeroen Tesselaar, save made by Allan McGregor.85:21
The ball is crossed by Lee Mair, Dorin Goian manages to make a clearance.84:52
A cross is delivered by Illias Haddad, clearance by Palazon Juanma Ortiz.84:07
Nikica Jelavic is caught offside. Lee Mair takes the free kick.82:58
Steven Davis takes a shot. Save by Craig Samson.81:53
Free kick awarded for an unfair challenge on Steven Thompson by Dorin Goian. Lee Mair takes the direct free kick.
Steven Naismith takes a shot. Blocked by Kenny McLean.80:39
Steven Davis takes the outswinging corner, Lee McCulloch takes a shot. Blocked by Jeroen Tesselaar.80:08
Foul by Jeroen Tesselaar on Kyle Lafferty, free kick awarded. The free kick is swung in right-footed by Steven Whittaker, Jon McShane makes a clearance.78:21 Substitution
Substitution Jon McShane is brought on as a substitute for Steven Thomson.78:11
Long distance effort from Gary Teale misses to the left of the goal.76:08
Kenny McLean delivers the ball.74:45
Steven Naismith has an effort at goal from outside the penalty area which goes wide right of the goal.74:14 Substitution
Substitution Kirk Broadfoot joins the action as a substitute, replacing Lee Wallace.73:40
Corner taken right-footed by Carlos Bocanegra from the left by-line, Nikica Jelavic produces a header from deep inside the six-yard box which goes wide of the right-hand upright.73:30
Palazon Juanma Ortiz takes a shot. Marc McAusland gets a block in.71:33
Lee Mair takes the free kick.71:33 Substitution
Substitution Palazon Juanma Ortiz is brought on as a substitute for Gregg Wylde.71:33 Substitution
Substitution Lee McCulloch joins the action as a substitute, replacing Maurice Edu.71:33
Unfair challenge on Gary Teale by Dorin Goian results in a free kick.69:52
The ball is swung over by Gregg Wylde.69:36
A cross is delivered by Jeroen Tesselaar, save made by Allan McGregor.67:44
Kenny McLean takes the free kick.67:44 Substitution
Substitution Illias Haddad replaces Jim Goodwin.67:44
Paul McGowan fouled by Maurice Edu, the ref awards a free kick.67:28
Nikica Jelavic takes a shot. Craig Samson makes a save.66:57
Kyle Lafferty takes a shot. Save by Craig Samson.65:46
A cross is delivered by Gregg Wylde, David van Zanten gets a block in.64:45
Inswinging corner taken from the right by-line by Kenny McLean, Jim Goodwin challenges Steven Naismith unfairly and gives away a free kick. Allan McGregor takes the free kick.64:38
David van Zanten produces a cross, Dorin Goian manages to make a clearance.64:18
Maurice Edu challenges Jim Goodwin unfairly and gives away a free kick. Free kick taken by Jim Goodwin.63:54
Paul McGowan takes a shot. Save by Allan McGregor.61:43
The ball is sent over by Steven Whittaker.61:02
Steven Davis delivers the ball from the free kick right-footed from left wing, clearance made by Lee Mair.61:02 Booking
Booking The referee shows Kenny McLean a yellow card for unsporting behaviour.60:47
Free kick awarded for a foul by Kenny McLean on Gregg Wylde.60:10
Steven Thompson challenges Allan McGregor unfairly and gives away a free kick. Allan McGregor takes the direct free kick.59:21
Corner from the left by-line taken by Gary Teale, Allan McGregor makes a save.59:12
The ball is sent over by Jeroen Tesselaar, Dorin Goian makes a clearance.57:59
Inswinging corner taken by Kenny McLean from the right by-line played to the near post, clearance made by Steven Whittaker.57:44
The ball is swung over by Gary Teale, Steven Thompson takes a shot. Dorin Goian gets a block in.56:31
Gregg Wylde produces a cross, blocked by Gary Teale.54:18
Inswinging corner taken from the right by-line by Kenny McLean, Marc McAusland produces a header from the edge of the box and misses to the right of the goal.54:06
Steven Thompson takes a shot. Blocked by Steven Whittaker.52:55
Effort on goal by Kenny McLean from just inside the area clears the bar.52:39
Kenny McLean delivers the ball, clearance made by Carlos Bocanegra.52:31
The ball is sent over by Kenny McLean, Carlos Bocanegra makes a clearance.52:20
Jeroen Tesselaar crosses the ball, clearance by Dorin Goian.51:24
The ball is crossed by Lee Wallace, clearance by Lee Mair.49:55
The ball is delivered by Nikica Jelavic.47:33 Goal scored
Goal! - Nikica Jelavic - Rangers 1 - 0 St Mirren A goal is scored by Nikica Jelavic from inside the area to the bottom left corner of the goal. Rangers 1-0 St Mirren.46:06
A cross is delivered by Gregg Wylde.45:37
Steven Naismith takes a shot. Save by Craig Samson.45:01
The referee gets the second half underway.45:01 Substitution
Substitution (St Mirren) makes a substitution, with Gary Teale coming on for Nigel Hasselbaink.45:00 +0:03 Half time
Half Time The ref blows to end the first period.44:40
Shot from outside the penalty box by Kenny McLean goes wide right of the goal.43:50
Unfair challenge on Nigel Hasselbaink by Dorin Goian results in a free kick. Jim Goodwin restarts play with the free kick.43:30
Steven Whittaker delivers the ball, clearance made by Marc McAusland.42:20
Steven Davis produces a right-footed shot from just outside the box that goes wide left of the goal.41:38
The ball is delivered by Maurice Edu.39:59
The ball is crossed by Gregg Wylde.39:34
David van Zanten delivers the ball, clearance made by Carlos Bocanegra.37:56
Nigel Hasselbaink is flagged offside by the assistant referee. Indirect free kick taken by Carlos Bocanegra.36:39
The offside flag is raised against Nigel Hasselbaink. Free kick taken by Allan McGregor.35:57
Maurice Edu concedes a free kick for a foul on Jim Goodwin. Free kick taken by Craig Samson.35:21 Booking
Booking Nigel Hasselbaink is booked.33:36
Steven Thomson takes a shot. Clearance made by Dorin Goian.33:27
The ball is crossed by Paul McGowan, clearance made by Carlos Bocanegra.31:07
The ball is sent over by Jeroen Tesselaar, Carlos Bocanegra makes a clearance.30:17
Nigel Hasselbaink crosses the ball, save by Allan McGregor.29:51
Lee Wallace sends in a cross, save made by Craig Samson.29:28
Lee Wallace delivers the ball, Jim Goodwin gets a block in.27:27
Nikica Jelavic sends in a cross, save by Craig Samson.25:18
Outswinging corner taken left-footed by Gregg Wylde from the left by-line, clearance made by Kenny McLean.23:48
Foul by Lee Wallace on Nigel Hasselbaink, free kick awarded. The free kick is swung in left-footed by Kenny McLean.21:51
The assistant referee signals for offside against Steven Whittaker. Free kick taken by Craig Samson.21:24
Steven Whittaker takes a shot. Blocked by Kenny McLean.21:14
The ball is sent over by Lee Wallace, save by Craig Samson.20:14
Free kick awarded for an unfair challenge on Steven Naismith by Nigel Hasselbaink. Carlos Bocanegra takes the free kick.19:36
Nigel Hasselbaink takes a shot. Save made by Allan McGregor.18:45
Nikica Jelavic takes a shot. Save by Craig Samson.18:00
Jeroen Tesselaar challenges Steven Naismith unfairly and gives away a free kick. Dorin Goian takes the direct free kick.17:10
Inswinging corner taken right-footed by Paul McGowan from the left by-line, clearance made by Steven Whittaker.15:18
A cross is delivered by Jeroen Tesselaar, Dorin Goian makes a clearance.14:58
Free kick awarded for an unfair challenge on Paul McGowan by Steven Whittaker. Free kick taken by Steven Thomson.14:22
Steven Thomson has a shot on goal from outside the area which misses right.13:54
Corner taken right-footed by Paul McGowan from the left by-line, save by Allan McGregor.13:21
Jeroen Tesselaar gives away a free kick for an unfair challenge on Steven Whittaker. Free kick crossed by Steven Davis, Lee Mair manages to make a clearance.11:35
Corner from the right by-line taken by Steven Davis, Headed effort from inside the area by Maurice Edu misses to the right of the target.11:20
Steven Davis produces a cross, clearance by Paul McGowan.10:34
Effort on goal by Steven Davis from outside the area goes harmlessly over the bar.8:17
Outswinging corner taken left-footed by Gregg Wylde, clearance by Kenny McLean.8:10
Steven Whittaker produces a cross, clearance made by Lee Mair.7:25
Shot on goal by Dorin Goian from just inside the area clears the crossbar.7:07
Corner taken by Gregg Wylde from the left by-line.6:31
Gregg Wylde takes a outswinging corner to the near post, Kyle Lafferty takes a shot. Brilliant save by Craig Samson.6:25
Centre by Lee Wallace, Marc McAusland makes a clearance.5:02
Steven Whittaker produces a cross, clearance by David van Zanten.4:04
Free kick awarded for a foul by Steven Naismith on Steven Thompson. Free kick crossed right-footed by Jim Goodwin.3:28
Nigel Hasselbaink is ruled offside. Allan McGregor takes the free kick.3:20
Steven Thomson delivers the ball.3:11
David van Zanten sends in a cross.2:38
Outswinging corner taken from the right by-line by Paul McGowan, clearance by Steven Whittaker.1:25
The official flags Nikica Jelavic offside. Craig Samson restarts play with the free kick.1:00
The assistant referee signals for offside against Steven Thompson. Maurice Edu takes the free kick.0:12
The referee blows for offside against Steven Thompson. Dorin Goian takes the free kick.0:00
The match gets underway.
Live data and text provided by our data suppliers