Rangers lost ground in the Scottish Premier League title race after being held at home by Aberdeen.
Nikica Jelavic had a header tipped onto the bar by Dons goalkeeper Jason Brown and Aberdeen's Kari Arnason came close at the other end.
Arnason broke the deadlock with an excellent strike in the 63rd minute.
Maurice Edu's deflected shot quickly restored parity, both goalscorers came close again and Brown denied Sone Aluko before the end.
With Celtic having beaten St Mirren earlier in the day, Rangers now trail the league leaders by four points.
Aberdeen opened stoutly, keeping their hosts largely at bay for the first 20 minutes.
Chances came Rangers' way when an Aluko corner was flicked on to Jelavic and his header was fisted onto the bar by Brown.
The keeper's work was not yet done as he made a reaction save as a scramble in the box ensued, ended by the referee's whistle to award a free-kick to Aberdeen.
Moments later, a flick-on by Jelavic sent David Healy through on goal, but the Northern Ireland striker slipped the ball wide with the goal at his mercy.
It was Aberdeen's turn to threaten and Fraser Fyvie's corner was met by the head of Arnason, the ball clipping the top of the crossbar on its way out.
Aluko flashed a shot wide from distance and Lee Wallace and Edu were also off target as Rangers pressed towards half-time.
A Steven Davis cross early in the second half missed Jelavic but found Wallace and his effort hit the post before the Dons eventually cleared.
Chris Clark's powerful shot needed dealt with by McGregor and, from the corner, the keeper missed the cross and required a goal-line clearance by Carlos Bocanegra as the home side claimed in vain for a handball by Arnason.
Rangers failed to heed the warning of Aberdeen's growing confidence and were punished after Davis lost possession near halfway.
Clark led the break, fed Arnason on the left and the midfielder beat McGregor with a sublime finish.
Aberdeen were immediately on the retreat as Rangers shelled balls into the box and the hosts' pressure eventually paid off when Edu's shot from the edge of the box was diverted past Brown by a Dons defender on 67 minutes.
Rangers continued to pour forward and the visitors were forced to defend a number of corners.
However, the Dons were almost in front again when Arnason tried his luck from 30 yards and McGregor got down low to make the save.
Jelavic did well to set up Edu, but the angle beat the midfielder as he ran in at the back post to shoot wide.
Continued pressure from Rangers failed to yield a second goal and Bocanegra was fortunate to escape with just a yellow card after taking down Josh Magennis as the Aberden forward ran through on goal in a late break.
Aluko forced Brown into a save with a 16-yard volley deep into injury time and, from the resulting corner, the keeper made another save to deny Bocanegra.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +2:47
The ball is sent over by Gregg Wylde, Sone Aluko takes a shot. Brilliant save by Jason Brown. Outswinging corner taken by Steven Davis, Carlos Bocanegra takes a shot. Save by Jason Brown.90:00 +2:37
Centre by Sasa Papac, clearance by Kari Arnason.90:00 +2:00
Ryan Jack gives away a free kick for an unfair challenge on Salim Kerkar. Free kick crossed by Steven Davis, Jason Brown makes a save.90:00 +0:23
Direct free kick taken by Kari Arnason. The ball is swung over by Chris Clark, Dorin Goian makes a clearance.90:00 +0:23 Booking
Booking Carlos Bocanegra goes into the referee's book for unsporting behaviour.89:56
Carlos Bocanegra gives away a free kick for an unfair challenge on Josh Magennis.89:01
Gregg Wylde delivers the ball, Headed effort from inside the penalty area by Nikica Jelavic misses to the right of the target.88:31
Inswinging corner taken left-footed by Gregg Wylde from the right by-line.86:57
Gregg Wylde takes a inswinging corner.86:31
The ball is sent over by Sasa Papac, Clark Robertson makes a clearance.86:01
Gregg Wylde restarts play with the free kick.86:01 Booking
Booking The referee cautions Kari Arnason for unsporting behaviour.85:54
Kari Arnason concedes a free kick for a foul on Nikica Jelavic.83:13
Unfair challenge on Maurice Edu by Scott Vernon results in a free kick. Steven Davis restarts play with the free kick.82:20
Corner taken right-footed by Steven Davis from the left by-line, Nikica Jelavic has a headed effort at goal from deep inside the area missing to the right of the target.82:17
Salim Kerkar sends in a cross, Ryan Jack manages to make a clearance.81:31
Clark Robertson crosses the ball.80:44
The ball is swung over by Nikica Jelavic, Effort from deep inside the area by Maurice Edu misses to the right of the target.78:51
Kari Arnason takes a shot. Save by Allan McGregor. Inswinging corner taken by Fraser Fyvie.
The ball is crossed by Gregg Wylde, Jason Brown makes a save.77:50
Corner taken by Nikica Jelavic from the right by-line, save made by Jason Brown.76:25
Steven Davis crosses the ball, Mark Reynolds manages to make a clearance.75:55
Gregg Wylde delivers the ball, Ryan Jack makes a clearance. Steven Davis takes a inswinging corner from the left by-line to the near post, clearance by Clark Robertson.73:24 Substitution
Substitution Darren Mackie is brought on as a substitute for Rory Fallon.73:24
Foul by Maurice Edu on Kari Arnason, free kick awarded. Jason Brown restarts play with the free kick.71:57
Free kick awarded for a foul by Rory Fallon on Steven Davis. Sasa Papac takes the direct free kick.70:25
Strike comes in from Steven Davis from the free kick.70:25 Booking
Booking Booking for Fraser Fyvie.70:19
Fraser Fyvie gives away a free kick for an unfair challenge on Steven Davis.69:13
Inswinging corner taken by Sone Aluko from the right by-line, Rory McArdle manages to make a clearance.68:30
Free kick awarded for an unfair challenge on Dorin Goian by Rory Fallon. Dorin Goian takes the direct free kick.68:18
Josh Magennis takes a shot. Save by Allan McGregor.67:57
Steven Davis sends in a cross, save by Jason Brown.66:51 Goal scored
Goal! - Maurice Edu - Rangers 1 - 1 Aberdeen Goal scored by Maurice Edu from just inside the area to the top left corner of the goal. Rangers 1-1 Aberdeen.66:44
A cross is delivered by Sasa Papac, clearance by Rory McArdle.66:28
Nikica Jelavic takes a shot. Mark Reynolds gets a block in.66:04
Corner taken left-footed by Sone Aluko from the right by-line, clearance by Rory Fallon.65:58
Sone Aluko sends in a cross.64:49
Clearance made by Clark Robertson.64:49 Substitution
Substitution Salim Kerkar is brought on as a substitute for Lee Wallace.64:49 Substitution
Substitution David Healy leaves the field to be replaced by Gregg Wylde.64:49
Shot from 12 yards by Lee Wallace. Ryan Jack gets a block in. Steven Davis takes the inswinging corner,63:27
The official flags David Healy offside. Jason Brown takes the free kick.62:16
Assist on the goal came from Chris Clark.62:16 Goal scored
Goal! - Kari Arnason - Rangers 0 - 1 Aberdeen Kari Arnason grabs a goal from the edge of the penalty area to the bottom right corner of the goal. Rangers 0-1 Aberdeen.61:47
Free kick awarded for an unfair challenge on Maurice Edu by Rory Fallon. Direct free kick taken by Maurice Edu.61:12
The ball is swung over by Sone Aluko.58:38
Chris Clark takes a shot. Allan McGregor makes a save. Fraser Fyvie takes the inswinging corner, Kari Arnason takes a shot. Carlos Bocanegra makes a clearance. Corner taken right-footed by Fraser Fyvie, Kari Arnason concedes a free kick for a foul on Allan McGregor. Direct free kick taken by Allan McGregor.57:13
Foul by Kari Arnason on Maurice Edu, free kick awarded. Maurice Edu takes the direct free kick.56:18
Free kick awarded for a foul by Kari Arnason on Maurice Edu. Free kick taken by Dorin Goian.55:23
Sasa Papac concedes a free kick for a foul on Josh Magennis. Free kick crossed by Fraser Fyvie, clearance by Carlos Bocanegra.53:00
Inswinging corner taken left-footed by Sone Aluko, Headed effort from inside the penalty area by Dorin Goian misses to the right of the target.52:53
The ball is swung over by Sone Aluko, Chris Clark gets a block in.52:46
The ball is crossed by Kyle Bartley, clearance made by Clark Robertson.52:19
Steven Davis sends in a cross, David Healy takes a shot. Save by Jason Brown.48:42
David Healy is caught offside. Free kick taken by Jason Brown.45:01
The referee gets the second half underway.45:00 +1:11 Half time
Half Time The half-time whistle blows.45:00 +0:43
The ball is crossed by Sone Aluko, David Healy takes a shot. Rory McArdle gets a block in.45:00 +0:18
The ball is delivered by Nikica Jelavic, Clark Robertson manages to make a clearance.44:22
The ball is swung over by Sasa Papac.43:32
Free kick awarded for a foul by Fraser Fyvie on Sone Aluko. Steven Davis restarts play with the free kick.42:36
Josh Magennis takes a shot.41:03
Maurice Edu produces a left-footed shot from the edge of the box and misses to the right of the goal.39:33
Lee Wallace produces a left-footed shot from the edge of the box and misses to the right of the target.34:44
Shot from a long way out by Sone Aluko goes wide of the left-hand post.34:06
Free kick awarded for a foul by Rory Fallon on Dorin Goian. Steven Davis takes the direct free kick.31:48
Corner taken by Fraser Fyvie, Kari Arnason takes a shot.31:42
The ball is sent over by Josh Magennis, blocked by Sasa Papac.30:30
Corner taken by Sone Aluko.26:52
Foul by Maurice Edu on Chris Clark, free kick awarded. Free kick taken by Mark Reynolds.25:10
Effort from inside the area by David Healy misses to the right of the goal.24:10
Josh Magennis is flagged offside by the assistant referee. Sasa Papac takes the indirect free kick.21:11
Sone Aluko delivers the ball, Nikica Jelavic takes a shot. Save by Jason Brown.21:11 Booking
Booking The referee books Clark Robertson for unsporting behaviour.21:04
Clark Robertson concedes a free kick for a foul on Sone Aluko.17:34
Clark Robertson produces a cross.16:34
The ball is sent over by Kari Arnason, clearance made by Sasa Papac.12:43
The referee blows for offside. Carlos Bocanegra takes the indirect free kick.12:16
Josh Magennis sends in a cross, save by Allan McGregor.11:57
Free kick awarded for an unfair challenge on Clark Robertson by Sone Aluko. Direct free kick taken by Mark Reynolds.11:13
Foul by Rory Fallon on Kyle Bartley, free kick awarded. Kyle Bartley takes the free kick.10:42
Lee Wallace crosses the ball.10:05
Rory Fallon concedes a free kick for a foul on Sone Aluko. Dorin Goian takes the direct free kick.9:30
The ball is delivered by Kyle Bartley, save by Jason Brown.8:21
The ball is swung over by Steven Davis, save by Jason Brown.7:52
The ball is sent over by Lee Wallace.6:16
Carlos Bocanegra fouled by Rory Fallon, the ref awards a free kick. Allan McGregor restarts play with the free kick.4:34
The ball is crossed by Ryan Jack.2:54
Rory Fallon gives away a free kick for an unfair challenge on Dorin Goian. Allan McGregor takes the direct free kick.2:35
Free kick awarded for a foul by Steven Davis on Fraser Fyvie. Direct free kick taken by Rory McArdle.0:52
Outswinging corner taken by Sone Aluko, Nikica Jelavic has a headed effort from close range and clears the crossbar.0:15
Kari Arnason concedes a free kick for a foul on Maurice Edu. The free kick is swung in right-footed by Steven Davis.0:00
The referee gets the match started.
Live data and text provided by our data suppliers