Rangers restored their four-point advantage at the top of the SPL but left it late to see off Partick Thistle.
The league leaders trailed to an early strike from Alex Burns but goals from Michael Mols and Ronald de Boer in the final 20 minutes gave them the points.
But it was not without controversy with Partick striker Gerry Britton sent off in the 71st minute for violent conduct but television pictures showed that although he caught Kevin Muscat with his arm, it was clearly unintentional.
Rangers, hit by injuries and suspension, gave 18-year-old Alan Hutton a debut at right-back.
Peter Lovenkrands had an early opportunity in front of the Partick goal but he was crowded out.
Partick opened the scoring with a well-worked goal in the seventh minute. Britton set up Kenny Milne on the left and his low cross was turned into the net from ten yards by Burns.
Rangers failed to respond and it was Partick who dominated the midfield. Lorenzo Amoruso sent a long-range effort well wide and Mols missed his kick in a crowded goalmouth.
The only shot Rangers managed on target in the first half was a deflected effort from Amoruso that Kenny Arthur saved comfortably.
Alex McLeish's displeasure was obvious when he replaced Russell Latapy with Claudio Caniggia before the interval.
Burns was unfortunate with a 25-yard shot at the end of a fine run which dipped just over the crossbar.
Hutton was replaced at half-time by Bob Malcolm as McLeish changed to three at the back in a bid to change the pattern of the game.
Arthur produced a good double save to keep out efforts from Stephen Hughes and Mols ten minutes into the second half as Rangers raised the stakes.
Mols squandered a great opening in the 61st minute after being set up by Hughes but, with only Arthur to beat, sent his shot skywards.
But Mols made amends by nabbing the equaliser in the 70th minute after Arthur had failed to hold a LovenkrandsÂ’ shot.
Then came Britton's red card which left Partick short. De Boer took full advantage by squeezing home what proved to be the winner 11 minutes from time following a corner.
Stefan Klos pulled off a fine save from Martin Hardie with five minutes left to prevent Partick taking a point.