Rangers 2 St Johnstone 0
Steven Davis claimed his third goal in as many games as Rangers beat St Johnstone to seal their place in the Co-operative Insurance Cup final.
The midfielder set the ball rolling at Hampden, before Lee McCulloch doubled the lead to set up a meeting with St Mirren at the same venue.
This was the fifth domestic cup meeting between the two sides in six years and Rangers came out on top again after winning three of those previous clashes.
Walter Smith’s men will now be hoping to make amends for last year’s League Cup final defeat to Celtic – the only domestic cup tie the Ibrox boss has lost since returning to the helm for a second spell in January 2007.
Rangers made two changes from the side who defeated Falkirk in the Clydesdale Bank Premier League at the weekend, with Neil Alexander replacing Allan McGregor in goal and Steven Smith filling in for Sasa Papac at left-back.
Fit-again Jody Morris, Cillian Sheridan and Liam Craig were all added to the starting line-up for Saints.
St Johnstone started well enough and Morris tried his luck in the opening minutes with an audacious shot from distance that dipped just over the crossbar.
But it was Rangers who should have been ahead just moments later when Nacho Novo raced onto a lovely ball from Davis.
Graeme Smith came off his line to block but was too late in preventing the striker unleashing a shot that looked net-bound before a last-gasp intervention saw Dave Mackay hook off the line to safety.
The Spaniard then attempted to turn provider with a cross to the back post intended for Kyle Lafferty but Gary Irvine was first to the ball and able to intercept the move before the big striker could connect with the header.
Saints also looked capable of grabbing the opener and Murray Davidson was not too far away with a header that he glanced just wide of target from six yards out, before Filipe Morais’ shot was blocked.
Irvine was alert again to prevent Davis finding the back of the net but, within seconds, the Northern Ireland international grabbed the opener anyway with 26 minutes gone.
A Smith throw-in was collected by Novo who teed up the shot for Davis to rifle high into the empty net at the back post and continue his impressive recent goalscoring form.
The Perth side could have been back on level terms when Morais whipped a dangerous free-kick into the box and David Weir’s attempt at a clearance saw the veteran defender almost nod past his own goalkeeper.
However, Rangers survived that scare and then doubled their advantage with 38 minutes on the clock.
Steven Whittaker played the pass back to McCulloch and the midfielder unleashed a ferocious shot from just outside the box which took a slight deflection past the helpless Smith and into the back of the net.
To their credit, Saints continued to try to force their way back into the tie and Sheridan tested Alexander with an excellent shot within seconds of the restart.
Rangers made their first change on the hour mark when Lafferty appeared to limp out of the action and was replaced by Andrew Little, before Novo was replaced by Steven Naismith.
Naismith could have had an immediate impact on the game – and put the tie beyond St Johnstone – when Whittaker whipped an inviting ball into the box only for the forward to volley wide under pressure from Smith.
The striker then squandered the perfect opportunity to add his name to the scoresheet when he went to ground under pressure from Irvine and referee Dougie McDonald pointed to the spot with 70 minutes gone.
The penalty decision was soft and perhaps it was justice that Naismith was denied Rangers’ third of the night when Smith did well to dive to his left and block a poor effort.
Then, in an ironic twist, Naismith was denied what appeared to be a more legitimate shout for a spot-kick when he appeared to be fouled by Mackay.
However, Rangers managed to hold on for the win and take another step closer to claiming the first silverware of the season.