Rangers staged a second half comeback to see off the stubborn challenge of Hearts at Ibrox.
Barry Ferguson and Gavin Rae celebrate at Ibrox
Hearts went in front when Andrius Velicka shot home from 18 yards after a strong run from Laryea Kingston.
Craig Gordon made some fine saves to keep Hearts in front until the interval but Rangers levelled on 52 minutes thanks to a powerful Gavin Rae header.
Rangers continued to push forward and captain Barry Ferguson produced a fine winner with an overhead kick.
Rangers are now 10 points clear of third-placed Aberdeen, while Hearts slip four points behind the Dons in the race for a Uefa Cup place.
The home side started strongly and Dado Prso set up Kris Boyd for an early strike but his effort came off a maroon jersey in the crowded goalmouth.
The rebound fell to Prso but Hearts goalkeeper Gordon did well to block the close-range shot.
The visitors were defending resolutely but broke up field in style to open the scoring on 16 minutes.
Laryea Kingston embarked on an impressive 50-yard run before feeding the ball to Velicka, who swept home from the edge of the penalty box.
Andrius Velicka shot Hearts ahead at Ibrox
Rangers continued to push forward and only a superb save from Gordon prevented Sasa Papac's header from hitting the top right-hand corner of the net.
Rae was first to the loose ball but the Ibrox midfielder could only scoop the ball high over the crossbar.
In his bid to score, Papac clashed with Hearts' Christophe Berra and was carried off five minutes before the break, with Ian Murray taking his place.
The home side were level seven minutes into the second half when full-back Alan Hutton burst down the right flank and delivered a neat cross for Rae to bullet home a header from 10 yards.
Rangers skipper Barry Ferguson was then not too far away with a close range header from Rae's cross.
But the Scotland star made ammends with a stunning goal ten minutes from time.
Brahim Hemdani fed the ball in for Ferguson to control it on his chest and loop a 16-yard shot beyond the fingertips of Gordon with a great overhead kick.
Rangers: McGregor, Hutton, Weir, Ehiogu, Papac (Murray 41), Rae, Ferguson, Hemdani, Thomson, Prso, Boyd. Subs Not Used: Klos, Sionko, Svensson, Lennon, McMillan, Shinnie.
Goals: Rae 52, Ferguson 79.
Hearts: Gordon, Karipidis, Zaliukas, Berra, Wallace, Ivaskevicius (Mikoliunas 82), Kingston, Brellier, Driver, Velicka (Elliot 57), Pospisil (Aguiar 74). Subs Not Used: Kurskis, Tall, McCann, Kancelsku.
Booked: Zaliukas, Ivaskevicius, Pospisil, Kingston, Berra.
Goal: Velicka 16.
Ref: I Brines