Moussa Dembele's late goal gave Celtic a deserved 1-0 win over Rangers at Hampden Park to send Brendan Rodgers' side into next month's Betfred Cup final.
The Hoops, inspired by captain Scott Brown, edged a rather unremarkable and goalless first half then turned the screw after the break.
It looked like the Light Blues would take the semi-final to extra-time but in the 87th minute Dembele tucked away a pass from substitute Leigh Griffiths to set up a meeting with Aberdeen in the final on November 27 at the national stadium.
Celtic side fully merited their victory against a Rangers side who were much more cautious following their 5-1 defeat in the Ladbrokes Premiership at Parkhead last month.
Rangers were rocked by the midweek knee injury to Niko Kranjcar and with Joey Barton suspended by the club it meant Mark Warburton was shorn of his two marquee summer signings.
The Gers boss brought in Betfred Cup goalkeeper Matt Gilks for Wes Foderingham, right-back Lee Hodson came in with James Tavernier pushed forward, and midfielder Josh Windass was also included.
The first moment of controversy came in the 15th minute when Rangers wide-man Barrie McKay was booked by referee Craig Thomson for simulation inside the Celtic penalty area under a challenge from Jozo Simunovic, who had replaced Kolo Toure in line-up.
The first real opportunity came moments later on a swift Parkhead break when Gilks saved with his foot from Scott Sinclair after Dembele had sent him clean through on goal.
However, the keeper then almost cost his side a goal when he passed the ball straight to Tom Rogic after taking a back pass from Jason Holt and was lucky to escape with just conceding a corner as the Australia international failed to capitalise.
In the 28th minute Rogic came close when he left Andy Halliday before curling a shot from the edge of the box and left-back Kieran Tierney testing Gilks with a drive just before the break.
The Scottish champions stepped up the pressure after the break.
James Forrest had two efforts on goal before defender Erik Sviatchenko had the ball in the Gers net from a Sinclair cross only for referee Thomson to rule it out for a push on Gers defender Clint Hill.
Gilks then made a fine close-range save from Sinclair before, in rare Gers breakaway, Holt raced on to a Tavernier cross to slam his shot against Simunovic, with keeper Craig Gordon gathering his second drive with ease.
In the 67th minute, after Andy Halliday tripped Brown, Rangers escaped again when a combination of Gilks' finger tips and the crossbar kept Sinclair's curling free-kick from 25 yards out of the net.
Three minutes later Martyn Waghorn and Joe Garner replaced Kenny Miller and Josh Windass as Hoops' top scorer last season Griffiths came on for Rogic.
Griffiths and Dembele had further effort for Celtic as the Govan men defended with increasing desperation.
Only a fine tackle in the box by Gers skipper Lee Wallace on Sinclair foiled another Hoops attack before Gilks blocked a Stuart Armstrong drive with his foot for a corner, which Rangers survived.
However, the Light Blues' luck gave way soon afterwards.
Griffiths escaped the attention of Wallace down the right to latch on to a long ball and when he knocked it to the near post Dembele got in front of Rob Kiernan to flick the pass past Gilks.
The Gers back-up keeper then made another save, this time from Griffiths who had breached the Rangers defence, as Celtic finished the half as strongly as they had started.