Last update on. From the section Scottish Premiership
On his 199th appearance, Alfredo Morelos scored his 100th Rangers goal
Alfredo Morelos scored his 100th Rangers goal, as the Scottish Premiership champions surged back from behind and beat St Mirren in Paisley.
Steven Gerrard's team returned to the top, but was initially behind after Connor Ronan's spectacular strike gave St Mirren a surprise lead.
After Ianis Hagi's tripping, Kemar Roofe scored a 42-minute penalty.
Just moments later, Morelos returned home to celebrate the win.
Rangers move three points above Hearts who lost points at Dundee on Saturday.
St Mirren, who had been aiming for a spot in the top 6, remain seventh after their three-game winning streak was halted.
Jamie McGrath, Republic of Ireland midfielder, was also injured and had to be taken off.
Jim Goodwin had talked about the confidence of the home team before the match, but now they had to show people "what they can do".
They were done in four minutes. Ronan moved away from John Lundstram and released some space. He unleashed a 30-yard shot that was unstoppable. It swerved in wind and nestled into top corner.
The Buddies continued their dominance as they dragged the ball around like a comfortable side at the top of the table.
Rangers took Rangers about a quarter hour to reach their box, and another ten minutes to make their first threat.
Connor Goldson sent Jak Alnwick two identical headers to the goalkeeper. Hagi threatened twice with headers that were just beyond both posts.
St Mirren were still hanging on but, just as half time approached, the champions betrayed them twice.
Hagi sprinted past Alan Power, who caught the winger just inside of the box. Alnwick was right about the spot-kick but Roofe's strike wasn't hard enough to reach the bottom right-hand corner.
With Saints still reeling just over a minute later James Tavernier found some breathing space down the right and swung a shot into the middle that Conor McCarthy missed. Morelos then scored into an empty net.
St Mirren, despite being at the top of the table, were everywhere. Rangers were looking for a third goal, and Hagi saw his shot blocked by the goalkeeper.
Tavernier saved a goal in the second half, and Morelos came close again. However, it was a slow start for both teams, compared to the fast pace of the first 45 minutes.
McGrath was then taken by St Mirren, leaving the remaining 10 minutes to be played with only 10 subs.
Borna Barisic's goal was saved by Rangers, but Rangers held on. St Mirren was only able to score with a late header from the penalty box.
Ianis Hagi is the Man of Match
Rangers awarded a penalty for Ianis Hagi's tripping, which was a constant threat to the visitors
What have we learned?
Rangers could not match St Mirren's pace and they were great for 25 minutes. They were beaten by laxity at the back, and a two-minute nightmare turned the game upside down.
Gerrard had been calling for Rangers to perform for 90 minutes and their frustration was obvious when they began to sluggishly.
Although this season may not have met their expectations, they proved they still have the ability to win tough fixtures.
What were they saying?
Jim Goodwin, manager of St Mirren: "I felt we were the stronger team for 25-30 mins and it was a brilliant goal by Connor Ronan.
"I am extremely disappointed by the goals that we conceded. "The penalty is somewhat stupid and the second is very poor. It needs to be removed at the near post."
Steven Gerrard, Rangers manager (to Sky Sports: "Pleased with this result, but it took us 25 mins to get started.
"After a European game away from home, we have to be sharper than today." You have to trust your players and believe they can turn this around.
What's next?
St Mirren will travel to Motherwell for the Scottish Premiership on Wednesday (19.45 BST), while Rangers will be at home in Aberdeen.
Hagi Ianis Hagi was the player of the match with an average 6.82 St Mirren St Mirren St Mirren
Rangers Rangers Rangers St Mirren Avg squad number 43 Player named Shaughnessy Average Rating 6.67 Squad Number 7 Player number McGrath Average Rating 6.28 Squad Number 9 Player number Tanser Player number Tanser Average ranking 5.72 Squad Number 10 Player number Flynn Player number Tait Average ratings 5.54 Squad numbers 10 Player number Tait Player number Tait Player number Fraser Average number rating of 6.62 Squad No. 17 Player number Morelos Player number Morelos Average number rating of 6.35 Squad no. 10 Player number 32 Squadr number 30 Player number 31 Player number 37 Average rating of 5.86 Squad-num 37 Squad 34 Player number 38 Squadr number 27 Player Arfield Player number 37 Squadr number 37 Squad rating Player number 36 Squadr number 47 Squadr number 46 Squadr number 45 Squad numbers 3 Player number 15 Squadr number 14 Squadr Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers Rangers 6.14