Match ends, Hamilton Academical 1, Rangers 1.
A 94th-minute Ross Callachan goal earned bottom side Hamilton Academical a surprise draw against Scottish Premiership leaders Rangers.
A Brian Easton own goal looked like it would give Rangers the points after visiting goalkeeper Allan McGregor had pulled off a string of saves.
Callachan, Bruce Anderson and Scott McMann were all thwarted in an uncomfortable 90 minutes for Rangers.
But with the last act of the game, Callachan scored from close range.
However, replays appeared to show the Hamilton midfielder's effort was going off target, with the ball spinning in after hitting off McGregor.
It means Rangers - who remain unbeaten in the league - now have a 21-point lead at the summit.
Hamilton stay bottom but have narrowed the gap on second-bottom Ross County to three points, and have two games in hand.
A whole league table and 56 points may have separated the two, but Hamilton gave as good as they got against the Premiership leaders.
Ianis Hagi and Joe Aribo put efforts wide from long distance for Rangers, and Connor Goldson had a looping header saved, but that was as close as Steven Gerrard's side got in a lacklustre first half.
Instead, the best chances fell to the hosts. Anderson played a one-two with Marios Ogkmpoe and sliced a deflected shot just wide. Then McGregor had to be alert when Anderson - on loan from Aberdeen - robbed Filip Helander on the edge of the box.
James Tavernier put a free-kick over just before the break, and Ryan Kent hit the side netting just after it as Rangers tried to go up a gear.
But then McGregor had to make a huge double save to keep Hamilton out, denying McMann and Callachan's efforts from inside the area.
Hamilton kept pushing, and Anderson drove a low shot at goal which McGregor again blocked.
Ryan Jack's introduction helped Rangers get more of a foothold in midfield and Kent's low drive through a ruck of bodies skimmed the far post.
But back came the home side. Callachan's free-kick was pushed away by McGregor before Rangers broke the deadlock at the other end as Borna Barisic's cross from the right bounced in off Easton.
It looked like it would be heartbreak for the relegation strugglers but, deep into injury time, McGregor clawed away an Anderson header and Callachan was first to the rebound to fire home.
Man of the match - Bruce Anderson

What did we learn?
With such a handsome lead at the top of the Premiership, Rangers can afford an off day. But four of their past seven games have been won by just a single goal, and they have dropped points in two.
Recently, they have begun to look more vulnerable and, while it probably won't hurt their title bid, it may concern Gerrard with the Europa League tie with Royal Antwerp coming up.
Hamilton were nine minutes away from victory - before losing - in midweek but paid the price for missed chances. They were up for the battle with Rangers and their late goal earns what could be a crucial point before a difficult run of fixtures.
Three of their next four games are against top-six opposition, and their next four games are away from home, as they fight for survival.
What did they say?
Hamilton Academical head coach Brian Rice: "I'm proud, not just of the result but the manner of the play. I thought the boys were absolutely outstanding.
"The message was to start the game like we mean it. They showed belief in each other."
Rangers manager Steven Gerrard: "I'm actually relieved to go away from this game with a point. We nearly won ugly, got a smash and grab, but we need to be better than that. We just weren't at the races.
There's so much for me to look through, and for me as well. Maybe I left too much quality and personality on the sidelines because we looked better when the subs came on."
What's next?
Hamilton travel to Livingston on Wednesday (18:00 GMT), while Rangers are next in action on Saturday when they host Kilmarnock (15:00).
Player of the match
HamiltonJamie Hamilton
Hamilton Academical
Avg
- Squad number6Player nameHamiltonAverage rating
7.59
- Squad number34Player nameCallachanAverage rating
7.50
- Squad number27Player nameHodsonAverage rating
7.32
- Squad number7Player nameAndersonAverage rating
7.31
- Squad number3Player nameMcMannAverage rating
7.20
- Squad number5Player nameEastonAverage rating
7.18
- Squad number16Player nameMartinAverage rating
7.15
- Squad number2Player nameOdoffinAverage rating
7.05
- Squad number14Player nameTraffordAverage rating
7.00
- Squad number9Player nameOgkmpoeAverage rating
6.89
- Squad number23Player nameFultonAverage rating
6.88
- Squad number15Player nameHughesAverage rating
6.60
Rangers
Avg
- Squad number1Player nameMcGregorAverage rating
6.97
- Squad number10Player nameDavisAverage rating
5.73
- Squad number8Player nameJackAverage rating
5.50
- Squad number31Player nameBarisicAverage rating
5.14
- Squad number6Player nameGoldsonAverage rating
4.78
- Squad number14Player nameKentAverage rating
4.64
- Squad number23Player nameWrightAverage rating
4.63
- Squad number2Player nameTavernierAverage rating
4.58
- Squad number11Player nameIttenAverage rating
4.49
- Squad number7Player nameHagiAverage rating
4.44
- Squad number18Player nameKamaraAverage rating
4.40
- Squad number17Player nameAriboAverage rating
4.39
- Squad number25Player nameRoofeAverage rating
4.21
- Squad number5Player nameHelanderAverage rating
4.02
- Squad number15Player nameZunguAverage rating
3.70
Line-ups
Hamilton
Formation 3-4-1-2
- 23Fulton
- 6Hamilton
- 16Martin
- 5Easton
- 27Hodson
- 2Odoffin
- 14TraffordSubstituted forHughesat 72'minutes
- 3McMann
- 34CallachanBooked at 1mins
- 7Anderson
- 9Ogkmpoe
Substitutes
- 15Hughes
- 17Stanger
- 18Mimnaugh
- 19Winter
- 20Moyo
- 21Munro
- 22Gourlay
- 25Slaven
- 32Smith
Rangers
Formation 4-3-3
- 1McGregor
- 2Tavernier
- 6Goldson
- 5HelanderBooked at 76mins
- 31Barisic
- 17Aribo
- 15ZunguSubstituted forJackat 60'minutes
- 18KamaraSubstituted forDavisat 78'minutes
- 7HagiSubstituted forWrightat 78'minutes
- 11IttenSubstituted forRoofeat 66'minutes
- 14Kent
Substitutes
- 3Bassey
- 4Simpson
- 8Jack
- 10Davis
- 16Patterson
- 23Wright
- 25Roofe
- 26Balogun
- 33McLaughlin
- Referee:
- Bobby Madden
Match Stats
- Possession
- Home31%
- Away69%
- Shots
- Home12
- Away15
- Shots on Target
- Home6
- Away2
- Corners
- Home5
- Away4
- Fouls
- Home17
- Away13
Live Text
Post update
Full Time
Second Half ends, Hamilton Academical 1, Rangers 1.
Goal!
Goal! Hamilton Academical 1, Rangers 1. Ross Callachan (Hamilton Academical) right footed shot from the right side of the six yard box to the bottom left corner.
Post update
Attempt saved. Bruce Anderson (Hamilton Academical) header from the centre of the box is saved in the bottom right corner. Assisted by Ronan Hughes with a cross.
Post update
Foul by James Tavernier (Rangers).
Post update
Scott McMann (Hamilton Academical) wins a free kick in the defensive half.
Post update
Attempt blocked. James Tavernier (Rangers) right footed shot from the centre of the box is blocked. Assisted by Scott Wright.
Post update
Attempt missed. Marios Ogkmpoe (Hamilton Academical) header from the centre of the box misses to the left. Assisted by Lee Hodson with a cross.
Post update
Foul by Joe Aribo (Rangers).
Post update
Bruce Anderson (Hamilton Academical) wins a free kick in the defensive half.
Post update
Attempt missed. Kemar Roofe (Rangers) right footed shot from the left side of the box misses to the right. Assisted by Steven Davis.
Post update
Scott Wright (Rangers) wins a free kick in the attacking half.
Post update
Foul by Hakeem Odoffin (Hamilton Academical).
Post update
Attempt blocked. Hakeem Odoffin (Hamilton Academical) right footed shot from the centre of the box is blocked. Assisted by Scott McMann.
Post update
Attempt missed. Kemar Roofe (Rangers) header from the centre of the box misses to the right. Assisted by Borna Barisic with a cross.
Post update
Kemar Roofe (Rangers) wins a free kick on the right wing.
Post update
Foul by Aaron Martin (Hamilton Academical).
Goal!
Own Goal by Brian Easton, Hamilton Academical. Hamilton Academical 0, Rangers 1.
Post update
Attempt blocked. Ryan Jack (Rangers) right footed shot from outside the box is blocked. Assisted by Ryan Kent.
Post update
Attempt blocked. Joe Aribo (Rangers) header from the centre of the box is blocked. Assisted by Borna Barisic with a cross.