Connor Goldson swept Rangers into an early lead but a late penalty in the first-half gave St Mirren a lifeline after a dominant display from the visitors.
The home side went ahead with Jamie McGrath’s second of the night shortly after the break and looked to be seeing out a memorable win before Steven Davis struck the equaliser after James Tavernier’s free-kick hit the post.
But there would be no extra-time as St Mirren rallied again and scored from close range in injury time to deny Steven Gerrard’s team a place in the semi-final.
Here’s how the players rated during the first defeat of the season for Rangers.
Scale - 10: One of the best performances you've seen. 9: Outstanding. 8: Very good. 7: Good. 6: Average. 5: Poor, 4: Very poor. 3: A terrible day at the office. 2: Abysmal. 1: One of the worst performances you've seen
But there would be no extra-time as St Mirren rallied again and scored from close range in injury time to deny Steven Gerrard’s team a place in the semi-final.