The League Cup winners moved into the semi-finals at Hampden at the expense of the Premiership champions following a dramatic end to a tense encounter.
After a goalless 90 minutes, Rangers captain James Tavernier thought he had won the tie for his side when he headed home the opener in the 117th minute.
However, a last gasp equaliser for St Johnstone’s Chris Kane, after goalkeeper Zander Clark had flicked the ball on from a corner, sent the match to penalties, where Clark was the hero again with saves from James Tavernier and Kemar Roofe before Ali McCann slotted home the decisive spot-kick.
Here’s how the St Johnstone heroes rated:
However, a last gasp equaliser for St Johnstone’s Chris Kane, after goalkeeper Zander Clark had flicked the ball on from a corner, sent the match to penalties, where Clark was the hero again with saves from James Tavernier and Kemar Roofe before Ali McCann slotted home the decisive spot-kick.