Rangers survived a late rally by Dundee United as they gained another crucial three points in the title race.
This victory means the Gers have cut the gap on table-topping Celtic to one point and Walter Smith's side still have a game in hand.
The Ibrox team looked to have sewn the game up with two early goals from Nacho Novo.
However, Mark De Vries' header 14 minutes from time led to an anxious few minutes for Rangers until substitute Jean-Claude Darcheville slid home their third goal in the last minute.
Rangers looked jaded in the second half but still managed to grind out an important victory.
United's Noel Hunt missed the target with a header before Rangers took the lead after only seven minutes. Novo was left unmarked and, from six yards, headed home Kevin Thomson's curling free-kick.
Rangers increased their lead 11 minutes later when Novo got behind Michael Kovacevic and hit a wonderful 20-yard left-footed shot into the top corner of the net.
Novo and Kirk Broadfoot both went close to scoring a third goal before David Weir cleared David Robertson's net-bound shot from inside his six-yard area with keeper Neil Alexander stranded. The Rangers shot-stopper then made a good save to keep out De Vries' shot.
United were far more positive at the start of the second half and, after Weir's mistake, the centre-back appeared to foul Hunt as he cut across him but the visitors' appeals for a penalty were amazingly waved away by the referee.
Novo wasted a good chance before Christian Dailly's shot came back off the post after Novo's corner had been cleared to him.
United thought they had reduced the deficit when Danny Swanson's shot deflected off Weir past Alexander, but the goal was ruled out for offside with the linesman thinking the ball had come off De Vries.
De Vries finally scored for United with a powerful 12-yard header but Rangers responded well and, after Broadfoot had chipped a left-foot effort just wide, Darcheville slid home a last-minute goal after good work by Novo and Barry Ferguson.