Match ends, St. Mirren 0, Rangers 2.
Daniel Candeias and Alfredo Morelos scored in the final 10 minutes as Rangers consigned St Mirren to a seventh successive Premiership defeat.
Steven Gerrard's side moved to within five points of league leaders Hearts after a hard-fought win in Paisley.
On a blustery day, Candeias curled what may have been a cross from the right over St Mirren goalkeeper Craig Samson.
Morelos then hammered home an angled shot in stoppage time before Candeias picked up a second yellow card.
The substitute, who was booked for celebrating his goal with fans, was given another card for aggressive behaviour in the aftermath of Morelos' goal.
The visitors dominated the second half after St Mirren made a live start with the wind at their back, with Oran Kearney's side now 11 league games without a win.
- Candeias did not deserve red card - Gerrard
- Who did you rate man of the match?
- Reaction & Rangers' win as it happened
Rangers weather storm in more ways than one
Rangers goalkeeper Allan McGregor returned for his 300th club appearance after being rested for Wednesday's 1-1 draw at home to Kilmarnock.
And the experienced Scotland international immediately showed his worth. First, he made a great save to tip over a powerful, curling free-kick from Ian McShane, then another smart stop as Ryan Edwards fired in a rising shot on the turn.
However, there was a let-off for McGregor as he fumbled Edwards' shot in first-half stoppage time but Paul McGinn could only stab the loose ball wide from close range.
Rangers, who had scored just once in their previous three games, found it tough to find any passing rhythm before the interval.
Playing into a strong wind against spirited opponents, Gerrard's side struggled to retain possession. Ryan Kent did get a glimpse of goal but the winger dragged his shot wide of the far post.
The visitors started the second half in menacing fashion, with Alfie Jones making a good block from Eros Grezda after Samson had spilled a tame effort from Ovie Ejaria.
From the resultant corner, Connor Goldson somehow failed to make contact right in front of goal after losing his marker.
Kent broke clear only to be thwarted by a great covering tackle from Paul McGinn and a raking strike from Grezda smacked against the base of Samson's near post.
That was followed by an almighty scramble in the home penalty box as Scott Arfield, Candeias and Ejaria all had efforts repelled by frantic defenders.
St Mirren's brave resistance was broken when Candeias looked up from the apex of the area and his delivery flew into the opposite top corner. A shot? A cross? Candeias did not care as he celebrated with fans behind the goal.
Rangers continued to press and were rewarded further by an emphatic strike from Morelos, which whistled beyond Samson.
'St Mirren raise levels for big game again' - analysis
BBC Scotland's Jane Lewis at The Simple Digital Arena
St Mirren looked like they might just hold on and Oran Kearney's players defended heroically at times, but they were outdone by a stunning Candeias strike, whether it was meant or not.
The worry for the Paisley side is perhaps a failure to put in such performance during every game. They threw themselves into this match, just as they did in Kearney's first game in charge against Celtic, but have yet to win a point since then and have now scored just twice in eight games.
Next up is Dundee at Dens Park; a massive game, Kearney admitted as much and insists his players will be even more aware of a need to be up for it. The same intent in defence and a desire to create more in front of goal will be a must.
'According to Daniel, he meant it' - reaction
Rangers manager Steven Gerrard: "We know these teams have got a lot to play for and are going to fight and be difficult to break down. The pleasing thing for me is we didn't get frustrated.
"According to Daniel he meant it. I've been in the game a long time and haven't seen anyone score one of those, not on purpose anyway."
St Mirren manager Oran Kearney: "The first goal is very important and if it's a shot and it went in then I'll doff my cap but if it's a cross then that's a disappointing one.
"The first goal into the last part of the game was always going to have a huge effect."
- 35FerdinandBooked at 90mins
- 39ErhahonBooked at 39mins
- 22WillockSubstituted forKirkpatrickat 61'minutes
- 4McGinnSubstituted forMacPhersonat 66'minutes
- 16McShaneBooked at 75mins
- 18MullenSubstituted forCookeat 83'minutes
- 10EjariaSubstituted forRossiterat 87'minutes
- 8JackBooked at 30mins
- 37ArfieldBooked at 39mins
- 35GrezdaSubstituted forCandeiasat 55'minutesBooked at 90mins
- William Collum
- Shots on Target
Second Half ends, St. Mirren 0, Rangers 2.
Anton Ferdinand (St. Mirren) is shown the yellow card.
Second yellow card to Daniel Candeias (Rangers).
Goal! St. Mirren 0, Rangers 2. Alfredo Morelos (Rangers) right footed shot from the right side of the six yard box to the bottom left corner. Assisted by Scott Arfield.
Corner, Rangers. Conceded by Ethan Erhahon.
Substitution, Rangers. Jordan Rossiter replaces Ovie Ejaria.
Attempt missed. Daniel Candeias (Rangers) right footed shot from the centre of the box misses to the right.
Attempt missed. Joe Worrall (Rangers) left footed shot from very close range is too high following a corner.
Corner, Rangers. Conceded by Alfie Jones.
Substitution, St. Mirren. Cody Cooke replaces Daniel Mullen.
Attempt missed. Ryan Edwards (St. Mirren) header from the centre of the box misses to the left.
Daniel Candeias (Rangers) is shown the yellow card for excessive celebration.
Goal! St. Mirren 0, Rangers 1. Daniel Candeias (Rangers) right footed shot from long range on the right to the top left corner. Assisted by James Tavernier.
Attempt missed. James Tavernier (Rangers) right footed shot from the centre of the box is too high.
Attempt blocked. Alfredo Morelos (Rangers) right footed shot from the centre of the box is blocked.
Ryan Jack (Rangers) wins a free kick in the defensive half.
Foul by Simeon Jackson (St. Mirren).
Attempt blocked. Ryan Jack (Rangers) right footed shot from outside the box is blocked.
Ovie Ejaria (Rangers) wins a free kick in the defensive half.