Match ends, Rangers 2, Heart of Midlothian 1.
Rangers inflicted only a second league defeat of the season on champions Hearts thanks to a display of character and occasional adventure.
The win moved the Ibrox side back above Hibernian and into second place in the Scottish Championship.
Kenny Miller and Haris Vuckic scored for the home side, with Genero Zeefuik pulling one back just before the end.
It was a testing second half for Rangers, though, after Lee McCulloch was sent off for elbowing Osman Sow.
Rangers imposed themselves on the visitors from Edinburgh. The first-half performance was full of intensity and focused hard work, closing Hearts players down on the ball and constantly looking for runners of their own when in possession.
The consequence was that the visitors were never able to build any passages of play and Rangers could prompt and probe for an opening.
The home players had formed a guard of honour for the champions as they took to the field and the sense was of Rangers not being prepared to allow Hearts to revel in the occasion even though the away fans were intent on celebrating it.
Rangers had to be patient and there were several fruitless spells in the final third before they eventually broke through.
The goal was typical of the home side's performance, since it stemmed from Andy Murdoch winning the ball inside his own half, then it was worked out to the left for one of Lee Wallace's endless overlaps.
The full-back showed the presence of mind to deliver his cutback into the path of Miller, who finished with composure to shoot past goalkeeper Neil Alexander.
Rangers were worthy of their lead yet could not play with complete sense of assurance, the defence having looked uncertain already.
Hearts also felt they should have had an equaliser when Marius Zaliukas misplaced a header back towards his own goal.
But, as Jamie Walker collected and was left one-on-one with goalkeeper Cammy Bell, referee Bobby Madden pulled the play back for an earlier foul.
Hearts were frustrated and they were soon rueing the decision more.
Dean Shiels squeezed a pass through to Vuckic on the right side of the penalty area and he cut onto his left foot and steered a shot past goalkeeper Neil Alexander's reach and into the far corner of the net.
Rangers were still vulnerable, though, particularly to their own flaws.
A recklessly aggressive McCulloch launched an elbow into Sow's head as he challenged for the ball just before half-time and was sent off by Madden.
The home side switched to a back three at the interval and played with enough organisational discipline that Hearts became increasingly frustrated.
The second half belonged to the visitors, in terms of possession, but Rangers did not suppress all of their ambition.
Nicky Law set off on a weaving run that ended with a cross to Nicky Clark, but the forward side-footed tamely at Alexander when he had enough time to measure a more effective strike.
Rangers defended stoutly and mostly kept Hearts at a safe distance, but pressure eventually told when Sow's header was saved by Bell, but Zeefuik was on hand to convert the rebound from a yard out.
- 1BellBooked at 71mins
- 6McCullochBooked at 44mins
- 22ShielsSubstituted forBlackat 77'minutesBooked at 85mins
- 10VuckicSubstituted forMohsniat 45'minutes
- 18MillerBooked at 68minsSubstituted forCrawfordat 72'minutes
- 3McHattieSubstituted forKeatingsat 74'minutes
- 14Pallardo Gonzalez
- 6GomisSubstituted forKingat 60'minutes
- 9El Hassnaoui
- Bobby Madden
- Shots on Target
Second Half ends, Rangers 2, Heart of Midlothian 1.
Ian Black (Rangers) wins a free kick in the attacking half.
Foul by Jamie Walker (Heart of Midlothian).
Foul by Andy Murdoch (Rangers).
Género Zeefuik (Heart of Midlothian) wins a free kick in the attacking half.
Attempt blocked. Billy King (Heart of Midlothian) right footed shot from outside the box is blocked.
Attempt blocked. Miguel Pallardó (Heart of Midlothian) right footed shot from outside the box is blocked.
Foul by Andy Murdoch (Rangers).
Danny Wilson (Heart of Midlothian) wins a free kick on the right wing.
Attempt missed. Alim Ozturk (Heart of Midlothian) right footed shot from outside the box is high and wide to the right.
Attempt blocked. Jamie Walker (Heart of Midlothian) left footed shot from outside the box is blocked.
Attempt blocked. Alim Ozturk (Heart of Midlothian) right footed shot from outside the box is blocked.
Ian Black (Rangers) is shown the yellow card.
Foul by Ian Black (Rangers).
Billy King (Heart of Midlothian) wins a free kick in the defensive half.
Attempt blocked. Robbie Crawford (Rangers) left footed shot from outside the box is blocked.
Goal! Rangers 2, Heart of Midlothian 1. Género Zeefuik (Heart of Midlothian) right footed shot from very close range to the centre of the goal.
Attempt missed. Robbie Crawford (Rangers) right footed shot from the centre of the box is too high following a set piece situation.
Nicky Law (Rangers) wins a free kick on the right wing.