Jonah Ayunga gave the hosts the lead in the first-half, before Findlay Curtis came off the bench to level the match in the 78th minute.
From the midweek fixture against Club Brugge, there were three changes to the starting line-up in Paisley as Emmanuel Fernandez and Thelo Aasgaard came in for their Scottish Premiership debuts, while Lyall Cameron was also in from the start.
Nasser Djiga was suspended following his red card against Dundee, while Danilo and Mohamed Diomande were named on the bench. Jack Butland was once again between the sticks, behind a back four of Max Aarons, John Souttar, Emmanuel Fernandez and Jayden Meghoma. Lyall Cameron is in midfield alongside Joe Rothwell and Nico Raskin, while Thelo Aasgaard will lead the line, with support from Oliver Antman and Djeidi Gassama.
It was Rangers who got the action underway in Paisley, and the first chance came the way of Russell Martin’s men with five minutes played. It was Oliver Antman who picked the ball up in a central area and drove through the heart of the St Mirren defence before taking a strike from the edge of the box, but it was held by George.
At the other end, Jonah Ayunga broke away from John Souttar down the left and tried to weave into the box but thankfully for Rangers he was unable to get a shot away or pick out a teammate as Nico Raskin cleared it for a St Mirren corner.
A set-piece opened up another opportunity for the hosts in the 18th minute as Declan John whipped a ball into the box from a short free-kick. Gogic got his head on the delivery to turn it towards goal but it was a comfortable save for the Rangers number one Jack Butland.
There were chances at both ends in this one, and another opportunity opened up for Rangers down the left as Jayden Meghoma and Djeidi Gassama combined once again. It was Meghoma who sent an inviting cross into the box, but Lyall Cameron was unable to keep his effort down as it drifted over the bar.
Mikael Mandron touched one wide at the back post after a ball from Killian Phillips as both sides continued to search for the breakthrough.
It was St Mirren who got that crucial first goal with 33 minutes on the clock. A ball from Mikael Mandron was fed through to Jonah Ayunga who raced through on goal. John Souttar was tracking back, but the forward had the edge and stuck a right-footed shot beyond Butland and into the back of the net.
Keanu Baccus looped an effort from 25-yards just over the bar as the hosts looked to take a lift from their opening goal.
There was a fantastic chance for Rangers at the other end as Gassama sent the ball into the box with Thelo Aasgaard turning it towards goal, but somehow St Mirren were able to keep it out as Shamal George got just enough on it to deny the Rangers forward. Gassama had a curling shot held by George in the final minute of the first-half but it was the hosts who went in with the advantage at the break.
Martin turned to his bench at half-time as he looked to change things in the second-half with Jayden Meghoma and Oliver Antman replaced by Danilo and Mikey Moore. It gave Rangers a bit of a lift, as they put St Mirren under some pressure early after the break.
Thelo Aasgaard dragged a shot wide from the edge of the box but couldn’t find the crucial goal Rangers needed to get back into the match.
Another change followed for Gers with 65 minutes played as Mohamed Diomande was introduced in place of Thelo Aasgaard.
St Mirren were close to a second from another set-piece as Killian Phillips’ delivery was headed back across goal by Mikael Mandron with Gogic getting a right-footed shot to it but he couldn’t keep it on target.
There was a final change for Rangers with Findlay Curtis coming on in place of Joe Rothwell for the final 15 minutes.
Curtis had an instant impact and Gers a goal back. A corner was sent into the box, and the St Mirren clearance fell for Curtis just inside the box and he struck a low effort through bodies in the box and into the back of the net for his third goal of the season.
Another strike from Curtis had to be pushed over by the keeper as the 18-year-old gave Rangers a lift with his introduction. In the final seconds of the 90, James Tavernier forced a strong save from George as he pushed wide a strike from the Rangers captain.
With five minutes of added time, Rangers were pushing for a winner in Paisley, but it was an open end to the match with Lyall Cameron doing well defensively to hold off a St Mirren attack.
Jack Butland pulled off a superb stop in added time to deny Gogic a header after a delivery from Scott Tanser from a free-kick.
RANGERS: Butland, Aarons (Tavernier, 68), Souttar, Fernandez, Meghoma (Danilo, 46), Rothwell (Curtis, 76), Raskin, Cameron, Antman (Moore, 46), Gassama, Aasgaard (Diomande, 65).
Subs: Kelly, Barron, Dowell, Igamane.
St Mirren: George, Richardson, O’Hara, Mandron, Ayunga (Mooney, 68), Gogic, Freckleton, Fraser, John (Tanser, 85) Baccus, Phillips (Idowu, 85)
Subs: Mullen, King, Calvin, Dijksteel, Sobowale, Taylor.