Walter Smith’s men had squandered the opportunity to leapfrog Celtic to the summit at the weekend but returned to winning ways in Tuesday night’s 6pm kick-off in Perth.
Kyle Lafferty netted his eighth of the season, before Steven Naismith left it late to wrap up the win as Rangers moved a point clear at the top before Celtic face Hibernian on Wednesday.
Rangers made one change from the side who lost to Dundee United, Lafferty replacing El-Hadji Diouf after recovering from a knee injury.
Saints made two changes. Kevin Moon and Jordan Robertson were added to the side, with Peter MacDonald on the bench and Collin Samuel failing to recover from a hip problem.
Saints had a shout for a penalty early on when Danny Grainger appeared to be tripped in the box by Gregg Wylde but no spot-kick award was forthcoming from referee Crawford Allan.
Wylde then tried to turn provider for Lafferty with a long cross from the left but goalkeeper Peter Enckelman was first to the ball to prevent the big striker connecting with the header.
Lafferty was on target with 20 minutes gone when he pounced on a short headed pass-back from Grainger before rounding the goalkeeper and slotting into the back of the net.
Lafferty could have added to his tally when he ran onto a long ball from Sasa Papac but Dave Mackay was quick to react with the block to deny the Northern Irishman his second of the night.
Saints had a chance to level when Steven Whittaker failed to clear the danger sufficiently and the ball broke for Murray Davidson, whose shot was tipped just wide of the post by goalkeeper Allan McGregor.
The champions could have doubled their lead when Lafferty won a free-kick that was flighted into the box by Wylde only for David Weir to see his header crash off the post.
Rangers looked dangerous after the restart when Lafferty turned provider for Nikica Jelavic but the Croatian, who had so far failed to impose himself on the game, screwed the effort wide.
At the other end, McGregor produced a superb save to push Moon’s shot wide of the upright but the offside flag was raised anyway.
Saints made a double switch when Moon and Grainger were withdrawn for the introduction of MacDonald and Arvydas Novikovas as they attempted to haul themselves back into the game.
McGregor prevented Rangers from being pegged back with a great save to deny Davidson, before Robertson’s rebound shot was deflected wide.
With 15 minutes to go, the Ibrox side replaced goalscorer Lafferty and Wylde with Jamie Ness and John Fleck.
Saints still looked capable of finding an equaliser and McDonald’s cross was met by Robertson for the header but he nodded straight into the grateful hands of McGregor from close range.
There appeared to be no way back for the home side when Rangers doubled their advantage with 83 minutes on the clock when a flick-on from Jelavic was met by Naismith and he rifled low past Enckelman to seal the win.
Jelavic could have put the gloss on the win with a ferocious shot that smacked off the underside of the crossbar, before Naismith nodded the rebound wide.