| Connor Goldson | 12' |  | ||
| 27' | ||||
|  | 28' | Ryan Strain | ||
| James Tavernier 0-1 | 30' |  | ||
| Zak Lovelace | 38' |  | ||
| out: Zak Lovelace Ross McCausland | 41' |  | ||
|  | 48' | Conor McMenamin | ||
| out: Kemar Roofe Cyriel Dessers | 61' |  | ||
|  | 68' | Caolan Boyd-Munce out: Keanu Baccus | ||
|  | 68' | Alex Greive out: Greg Kiltie | ||
|  | 68' | Mikael Mandron out: Toyosi Olusanya | ||
| Assist: Nicolas Raskin Abdallah Sima 0-2 | 71' |  | ||
|  | 81' | Stav Nachmani out: Conor McMenamin | ||
| James Tavernier 0-3 | 90' |  | ||
| out: Abdallah Sima Sam Lammers | 90' |  | ||
| out: José Cifuentes Bailey Rice | 90' |  | ||
Lineups

St Mirren
|  | 1Z. Hemming Goalkeeper | 
|  | 22M. Fraser Dedender | 
|  | 13A. Gogić Dedender | 
|  | 5R. Taylor Dedender | 
|  | 23R. Strain  28' Midfielder | 
|  | 17K. Baccus  68' Midfielder | 
|  | 6M. O'Hara Midfielder | 
|  | 3S. Tanser Midfielder | 
|  | 10C. McMenamin  48'  81' Forward | 
|  | 20T. Olusanya  68' Forward | 
|  | 11G. Kiltie  68' Forward | 

Rangers
|  | 1J. Butland Goalkeeper | 
|  | 2J. Tavernier  30'  90' Dedender | 
|  | 6C. Goldson  12' Dedender | 
|  | 5J. Souttar Dedender | 
|  | 31B. Barišić Dedender | 
|  | 15J. Cifuentes Charcopa  90' Midfielder | 
|  | 4J. Lundstram Midfielder | 
|  | 43N. Raskin Midfielder | 
|  | 65Z. Lovelace27'  38'  41' Forward | 
|  | 25K. Roofe  61' Forward | 
|  | 19A. Sima  71'  90' Forward | 
Substitutes

St Mirren
|  | 27P. Urminský Goalkeeper | 
|  | 2J. Bolton Dedender | 
|  | 18C. Dunne Dedender | 
|  | 16T. Small Forward | 
|  | 15C. Boyd Munce  68' Midfielder | 
|  | 8R. Flynn Midfielder | 
|  | 19S. Nachmani  81' Forward | 
|  | 21A. Greive  68' Forward | 
|  | 9M. Mandron  68' Forward | 

Rangers
|  | 28R. McCrorie Goalkeeper | 
|  | 26B. Davies Dedender | 
|  | 21D. Sterling Dedender | 
|  | 3R. Yılmaz Dedender | 
|  | 93C. McKinnon Midfielder | 
|  | 64B. Rice  90' Midfielder | 
|  | 45R. McCausland  41' Forward | 
|  | 14S. Lammers  90' Forward | 
|  | 9C. Dessers  61' Forward | 
