Kemar Roofe’s extra-time winner sent Rangers into a League Cup final against Celtic after they came from behind to beat 10-man Aberdeen 2-1 at Hampden.
The Dons have struggled for form in the Scottish Premiership of late but had something to hold on to after Bojan Miovski steered home Matty Kennedy’s cross four minutes before half-time.
But Rangers fought back to maintain Michael Beale’s unbeaten start as manager of the Glasgow giants.
Ryan Jack’s deflected strike against his former club got Rangers level on the hour mark.
Aberdeen captain Anthony Stewart was then shown a straight red card in stoppage time for a shocking tackle on Fashion Sakala.
Rangers took advantage as Roofe scored his first goal since April after a long injury layoff four minutes into extra time.
“It’s a group that’s had some tough moments this season and now they’ve got to a final,” said Beale.
“We’ve managed to turn results around. It would’ve been unjust if we hadn’t won the game.”
The Old Firm clubs will go head-to-head for the first silverware of the season on February 26.