Stenhousemuir became only the second team to deny Rangers full points in League 1 this season in a 3-3 draw at Ibrox.
Sean Dickson and Sean Higgins had the Warriors twice in front but Nicky Law then a Ross McMillan own goal hauled the hosts level. Jon Daly edged Rangers ahead but Higgins equalised from the penalty spot.
Second-placed Dunfermline defeated Ayr United 3-0 at East End Park. Ross Forbes scored early for the Pars and on-loan Lawrence Shankland added a double.
Martin Grehan hit a first-half hat-trick, one of them a penalty, as Stranraer beat Brechin 3-1 at Glebe Park. Andy Jackson pulled one back for City, who had Paul McLean sent off.
Bottom club Arbroath went down 3-2 to Forfar at Gayfield. Dale Hilson's opener and a Gavin Swankie double had Dick Campbell's men in control before Alan Cook and Leighton McIntosh reduced the deficit.
East Fife remain four points clear of second-bottom Airdrieonians after a 0-0 draw at Bayview.