Rangers claimed their first league win on the road this season but were made to work for the three points at Clyde.
Dean Shiels' impressive strike edged the visitors ahead after 17 minutes.
Clyde goalkeeper Jamie Barclay saved efforts by Lee Wallace and Lee McCulloch and Stefan McCluskey twice came close to levelling for the hosts.
A second booking for John Neill meant the home side finished the match a man down and McCulloch tapped home Rangers' second 10 minutes from the end.
Ally McCoist's side return to the top of Scottish Division Three and open up a two-point gap over Elgin City. Clyde remain eighth.
After looking uneasy at some early Clyde set pieces, Rangers had several chances to take the lead before Shiels' opener.
McCulloch netted his 13th goal of the season
Andy Little squared for McCulloch but the club captain's shot clipped the crossbar on its way out.
Little was then denied by Barclay and the Northern Ireland international should have buried the rebound rather than blast across the face of goal.
But Shiels did find the net when he picked up possession in the inside left channel, turned and curled the ball into Barclay's far corner from outside the box.
McCluskey missed an excellent chance to level for the Broadwood side when he latched on to Bryan Gilfillan's low centre and placed a low shot wide of Neil Alexander's right-hand post.
Barclay tipped over Wallace's deflected strike and, from the resulting corner, the keeper reacted well to palm away McCulloch's downward header.
Alexander kept Rangers ahead at the start of the second half, tipping McCluskey's header over after Stuart McColm had whipped a teasing cross into the box.
Neill and Gavin Brown became involved in an exchange with Shiels after a foul by the Rangers forward and all three were booked, with the former having already picked up a yellow card.
And the depleted hosts lost a second goal when Ian Black pulled Chris Hegarty's delivery back across goal for McCulloch to apply the finishing touch.
McCulloch had further chances to add to Rangers' tally, testing Barclay from outside the area before scraping the post with a shot on the run.
Barclay, Brown, Marsh, Oliver, Sharp, Neill, Sweeney, Hay (Fitzharris 87), McColm, Gilfillan (John Kane 75), McCluskey (Watt 82). Subs Not Used: Rajovic, Scullion.
Gilfillan, Neill, Brown.
Alexander, Hegarty, Perry, Emilson Cribari (Argyriou 82), Wallace, Shiels (McKay 73), Hutton, Black, Macleod, McCulloch, Little (Aird 84). Subs Not Used: Scott Gallagher, Kyle.
Shiels 17, McCulloch 80.