Rangers will play Celtic in the final of the Viaplay Cup after the Ibrox side beat Aberdeen in 2-1 in extra time of their semi-final at Hampden.
Bojan Miovski had given Aberdeen the lead at the national stadium but Ryan Jack struck a second half equaliser.
The Dons had Anthony Stewart sent off before Kemar Roofe netted in extra time to send his side through to the final.
After a hard-fought match in difficult conditions on the Hampden surface, Michael Beale’s side now progress to face Celtic on February 26 with the first silverware of the season on the line.
Rangers had the first big opportunity just a couple of minutes into the game, when James Tavernier collected a short corner and swung in a cross from the right.
Fashion Sakala, who has been in goalscoring form recently, found space in the box but saw his header come back off the post before being cleared.
Rangers enjoyed the best of the opening exchanges but Aberdeen showed their danger after 15 minutes.
A clever ball from Leighton Clarkson put Bojan Miovski one on one with Allan McGregor. The Dons striker hit a smart shot into the net from a narrow angle but saw his celebrations cut short by an offside flag. VAR backed the linesman’s call.
Sakala showed his intent with a cut inside and shot that curled over the bar but the Dons had half-chances from two corners before Miovski kept McGregor on his toes with another snap shot.
The end-to-end action continued through the first half-hour, when Aberdeen wasted a free-kick from a dangerous position and allowed Rangers to counter. Kent picked out Alfredo Morelos in space but the Colombian chose to shift the ball back on to his right foot and hit a shot that trundled wide. Moments later Kent had a pop on goal himself but Kelle Roos was well placed to stop his powerful shot.
On a weekend that had already seen plenty of penalty box calls, there was another decision to make and Morelos was at the centre of the action. The Rangers striker met a Ben Davies cross with a powerful header and Roos blocked but dropped the ball on the line. Morelos claimed a goal but replays show that it had stayed out.
Aberdeen took the lead
Just as Rangers had found themselves in the ascendancy, Aberdeen took the lead. A ball played forward by Clarkson was left by Miovski, who correctly judged he was offside and let it run through. Matty Kennedy collected and raced on ahead of Borna Barisic before knocking it back into the middle where Miovski chipped past McGregor from six yards and the red section of the stadium erupted.
Rangers tried to get back into things quickly when Sakala tried his luck from distance but put his shot wide in the last chance of the first half.
After the restart, play continued in the same pattern, with Rangers pressing and Aberdeen getting opportunities to counter. A chance for Ryan Jack after a Malik Tillman was the pick of the early exchanges but the midfielder fired his shot over the bar.
Rangers were on top in terms of possession but struggling to make clear-cut openings with Aberdeen’s defense organised and energetic. With an hour played, they got their chance and their equaliser.
Rangers draw level
After good build-up working involving Kent and Morelos on the right, the ball was worked to Jack on the edge of the box,. The midfielder kept his shot low this time and with the aid of a deflection it rifled past Roos and into the bottom corner of the net.
Having conceded the equaliser, there was a second blow for Aberdeen when Duk was forced off with injury and replaced with Jonny Hayes.
Rangers had momentum and continued to probe the Dons back line, searching for openings and a chance to get in front.
Just after Jack has scored against his old team, former Rangers player Ross McCrorie burst forward and saw his effort on goal deflected for a corner. Rangers couldn’t clear but blocked two shots in a packed box.
McCrorie’s next act was to be the first player booked, shown a yellow card for a challenge on Kent when Rangers threatened to break forward in numbers.
Rangers made changes, bringing on Kemar Roofe and Glen Kamara for Morelos and Tillman, while Connor Barron replaced Leighton Clarkson.
Chances became more limited as the clock ticked on but Skala and Tavernier both had shots blocked from the edge of the box with ten minutes to play.
As extra time loomed, Rangers had the majority of the play and Lundstram forced a save from Roos just before the fourth official indicated eight minutes of stoppage time.
An Aberdeen break saw Barron flash a shot across goal as they made a final push for a winner.
Two minutes into stoppage time, Aberdeen were reduced to ten men. Sakala took possession on the left and Dons captain Anthony Stewart lunged into a late tackle and was shown a straight red card by Nick Walsh.
Neither side could fashion a late winner and extra-time was needed to determine who would be heading to the final.
Extra time winner
Scott Wright replaced John Lundstram for Rangers ahead of the restart, while Christian Ramirez came on for Miovski as Aberdeen looked to introduce fresh legs up front.
Rangers had the first chance of extra time. Tavernier won a header just outside the box, brought the ball under control and hit a snap shot that took a slight deflection before hitting the crossbar.
Seconds later, Rangers took the lead. Wright turned his marker out wide and cut back a low ball that Roofe pounced on to hit a first time finish across Roos and into the net.
The game was then halted for a spell after a communication issue stopped contact between the VAR centre and the match officials. After a lengthy wait, Walsh indicated that the game would continue without video review.
With the ball back in play, Aberdeen showed they weren’t out of things yet when Hayes hit a fierce long-range effort that McGregor has to be sharp to stop.
Rangers introduced Adam Devine and Scott Arfield for Sakala and Barisic for the second period of extra time as they looked to keep their grip on the tie. Wright nearly tightened it just after play restarted when he hit a fierce drive that went just wide of the post.
Two corners in quick succession allowed Aberdeen to get men into the box but they couldn’t make anything of the opportunity.
Rangers suffered a fresh injury blow when Roofe, who has had a lengthy spell on the sidelines this season, was forced off for treatment on a shoulder or arm injury from falling awkwardly after challenging for the ball.
That levelled the numbers for s short spell with both sides at ten men but Rangers continued to enjoy the majority of the play until Charlie McCann came on for Roofe to restore their advantage.
Aberdeen were hoping for a late chance as the final whistle neared and they got one when the ball fell to Ramirez in the area. He slipped as he turned to shoot and saw his effort go well wide.
Rangers held on and saw out the final moments to seal the tie and set up a showdown with holders Celtic in the final on February 26.