Match ends, St. Mirren 2, Rangers 2.
Rangers ended their league campaign with a draw as St Mirren struck late to deny the Championship winners a first victory in four.
Calum Gallagher's goal, the climax of a superbly crafted move, gave the hosts a half-time lead but Kenny Miller equalised with a header.
Jason Holt thought he had grabbed a winner for the Scottish Cup finalists.
But, in added time, substitute Lewis Morgan cut in from the left-hand side to fire the Buddies level.
Buddies fans bid farewell to duo
Steven Thompson and Jim Goodwin, on duty as St Mirren players for the last time, had to settle for places on the bench.
The headline team news for Rangers was that Martyn Waghorn made a comeback straight into the starting line-up after two-and-a-half months on the sidelines with a knee injury.
Rangers took fully 18 minutes to threaten the Buddies' goal - and then did it three times in seconds.
Jamie Langfield made a real meal of a low shot from Lee Wallace and spilled it back into play, which led to Waghorn hitting the post.
Waghorn then collected the rebound and curled a shot beyond the far post.
Barrie McKay later added to the list of unsuccessful attempts.
Not that Wes Foderingham was over employed in the Rangers goal. It took 31 minutes for him to be called into serious action, dealing with a well struck Stevie Mallan free-kick down to his left.
And then he was involved in a shambolic mix-up which forced him to deal with a passback with his knee and only knock the ball on to Lawrence Shankland, whose touch deflected the ball just past the post.
Suddenly alarm bells were ringing for Rangers.
St Mirren's opener was a gem - crisp passing involving mostly the inventive Mallan, who held the ball up perfectly before rolling it into the overlapping run of Calum Gallagher. His strike was low and in at the near post.
James Tavernier was the engineer of Rangers' leveller, working his way down the right and hanging it up at the far post. Defenders hesitated but Miller attacked the cross and his downward header beat Langfield.
The tide had turned and Rangers started to pile on the pressure. McKay forced a fine save from Langfield, Miller hit the bar, Holt fired over and an away winner looked odds on.
The home fans in the crowd of 5,933 desperate for a last sighting of Goodwin and Thompson in a black and white striped shirt were granted their wish.
Manager Alex Rae made them wait until the 74th minute when they came on together to a standing ovation.
And just to sign off with a flourish, Goodwin received a yellow card for a tackle on the edge of the box.
Holt grabbed the lead for Rangers, rattling into the left-hand corner but St Mirren were not beaten yet.
Deep into stoppage time Morgan hit the equaliser to snatch a draw and leave Thompson and Goodwin to their lap of honour.
- 22GallagherSubstituted forGoodwinat 75'minutesBooked at 85mins
- 29CooperSubstituted forMorganat 61'minutes
- 24ClarksonSubstituted forThompsonat 75'minutes
- 27WilsonBooked at 31mins
- 5WallaceBooked at 79mins
- 8ZelalemSubstituted forShielsat 74'minutes
- 33WaghornSubstituted forBallat 60'minutes
- 9MillerSubstituted forClarkat 74'minutes
- Don Robertson
- Shots on Target
Second Half ends, St. Mirren 2, Rangers 2.
Goal! St. Mirren 2, Rangers 2. Lewis Morgan (St. Mirren) right footed shot from outside the box to the bottom left corner. Assisted by Gary Irvine.
Foul by Jason Holt (Rangers).
Lawrence Shankland (St. Mirren) wins a free kick on the right wing.
Attempt blocked. Steven Thompson (St. Mirren) right footed shot from the centre of the box is blocked.
Dominic Ball (Rangers) wins a free kick on the left wing.
Foul by Lewis Morgan (St. Mirren).
Attempt saved. Gary Irvine (St. Mirren) right footed shot from outside the box is saved in the centre of the goal.
Goal! St. Mirren 1, Rangers 2. Jason Holt (Rangers) left footed shot from the left side of the box to the bottom right corner. Assisted by Nicky Clark.
Corner, Rangers. Conceded by Lawrence Shankland.
Attempt blocked. James Tavernier (Rangers) right footed shot from outside the box is blocked.
Jim Goodwin (St. Mirren) is shown the yellow card for a bad foul.
Jason Holt (Rangers) wins a free kick in the defensive half.
Foul by Jim Goodwin (St. Mirren).
Foul by Dominic Ball (Rangers).
Lewis Morgan (St. Mirren) wins a free kick in the attacking half.
Danny Wilson (Rangers) wins a free kick in the attacking half.
Foul by Lawrence Shankland (St. Mirren).
Attempt missed. Jason Holt (Rangers) left footed shot from the centre of the box is just a bit too high.