Alfredo Morelos scored his 100th Rangers goal as the Scottish Premiership champions roared back from behind to beat St Mirren in Paisley.
Steven Gerrard’s side returned to the top of the table, but initially trailed after Connor Ronan’s stunning strike gave St Mirren a shock lead.
Kemar Roofe levelled with a 42nd-minute penalty after Ianis Hagi was tripped.
And just moments later Alfredo Morelos headed home to spark wild celebrations for the goal that would prove the winner.
The victory moves Rangers three points above Hearts, who dropped points on Saturday at home to Dundee.
St Mirren, who were targeting a place in the top six, remain seventh as their three-game winning streak came to a halt.
And there was a further blow with Republic of Ireland midfielder Jamie McGrath stretchered off late on.