Rangers had to rely on a stoppage-time penalty from captain Lee McCulloch to defeat a spirited East Fife team as they secured an unconvincing 1-0 win at Bayview Stadium.
Ally McCoist's side looked set to drop points in Scottish League One for only the third time this season after struggling to break down the Fifers.
Home goalkeeper Greg Paterson pulled off a number of impressive saves to deny Rangers but he was finally beaten in the third minute of time added on, McCulloch sending him the wrong way after David Templeton had been fouled in the area by substitute Pat Clarke.
Victory leaves the Glasgow side requiring just two more wins from their final nine league matches to secure promotion but they were made to work hard by East Fife, just a week after being held at Ibrox by Stenhousemuir.
Nicky Law hit the post in the only real chance of the first half, which saw home defender Gary Fisher substituted after dislocating an elbow in an aerial challenge.
Dean Shiels and Templeton tried their luck without any success, while Fifers skipper Liam Buchanan fizzed a shot just past the post at the other end.
Rangers improved slightly after the break, with Fraser Aird providing some dangerous crosses from the right flank.
Aird also played an outswinging corner into the area for McCulloch to get on the end of but his powerful header was deflected behind for another flag-kick.
Cameroon-born defender Joe Mbu then capped an impressive display for East Fife by colliding with the post in his attempts to head the ball clear of danger.
Rangers began to turn the screw in the closing stages, with Paterson forced to make two impressive saves to keep the scores level.
First he kept out a point-blank effort from McCulloch after Jon Daly had headed the ball across goal, before pushing a powerful Templeton drive behind for a corner.
But Paterson was finally beaten in stoppage-time as McCoist and his charges moved a step closer to securing the title.