Match ends, Aberdeen 1, St. Johnstone 0.
A late goal from substitute Adam Rooney booked Aberdeen's place in the semi-final of the Scottish League Cup at the expense of St Johnstone at Pittodrie.
Kenny McLean passed up the hosts' best chance earlier when he volleyed over.
Saints' David Wotherspoon had a goal ruled out for offside, before his free-kick late on was pushed onto the bar by Dons goalkeeper Joe Lewis.
That proved crucial as Graeme Shinnie crossed for Rooney to head home in the final minute of normal time.
When a manager can call upon a player with the goal-scoring prowess of Rooney from the bench, it must surely give him confidence that goals will eventually come their way.
From the moment Rooney replaced Jayden Stockley in the 73rd minute, it was evident the striker did not fancy playing an additional 30 minutes against St Johnstone.
That said, his one and only chance came in the 90th minute. When the ball left the right foot of Shinnie from the left flank, heading towards the Saints' six-yard box, it was clear Rooney fancied his chances
His footwork and movement in evading the attention of Saints defenders was textbook and should be a lesson to youngsters up and down the country as to how to put the ball in the back of the net.
The Maddison touch
The impact James Maddison has made in his short time at Pittodrie is extremely impressive. The teenager tormented St Johnstone midfielder Murray Davidson throughout the night with a flurry of touches that at times were embarrassing for the Saints player.
At 19, his touch on the ball was immense and his game awareness was a delight to watch.
His loan spell from Norwich City is only until January, but Dons fans can be reassured boss Derek McInnes will be looking to extend that until the end of the season.
Saints' hard luck story
They say that penalties are a tough way to lose a game but this tie took a massive twist with just seconds remaining on the clock.
Had Dons keeper Joe Lewis not made a magnificent save from Wotherspoon's free-kick, it would probably have been Saints taking on Morton for a place in the Betfred Cup final.
But St Johnstone boss Tommy Wright is more than capable of picking his players up for Sunday's Premiership match against Hamilton.
The wily old fox will use all his years of experience to ensure the disappointment of a last-minute defeat does not linger on in the McDiarmid Park dressing room.
It will hurt but they will bounce back.
Aberdeen boss Derek McInnes: "It was a proper cup tie. No quarter given, both teams showing real determination, fighting for every inch. There was very few opportunities for both sides in the game. Both teams defended very well and you just got the feeling one goal was going to win it.
"I was delighted with the impact of the subs again, it was the same on Sunday at Dens. [Peter] Pawlett and Rooney came on and gave us a different dynamic, and typical Adam, he only needs half a chance.
"His movement was really bright. He got half a yard on [Steven] Anderson but he still had to guide it into the far corner."
St Johnstone's Tommy Wright: "We are extremely disappointed. I thought it was going to extra time. I wouldn't say the players did everything asked of them, because if we had done a bit more with the ball, we might have won the game.
"Zander [Clark] didn't have a save to make even thought they had pressure. We probably had the clearest chance with David Wotherspoon - the linesman put his flag up very late - and Joe Lewis made an incredible save from David. I am proud at how we stayed in the game, but we can pass the ball better than that."
Asked about an incident in the tunnel after the game, Wright said: "There was a bit of shouting and balling and yelling. Aberdeen have a right to celebrate but they left the dressing room door open and the music was deafening. Our players were a bit upset and one of them shut the door. But there was nothing in it."
- 23MaddisonBooked at 7minsSubstituted forReynoldsat 90+1'minutes
- 3ShinnieBooked at 34mins
- 8BurnsSubstituted forPawlettat 72'minutes
- 17StockleySubstituted forRooneyat 73'minutes
- 14ShaughnessyBooked at 11mins
- 10WotherspoonBooked at 45mins
- 8DavidsonBooked at 80mins
- 18PatonBooked at 51minsSubstituted forKaneat 90+2'minutes
- 11SwansonBooked at 67minsSubstituted forCraigat 77'minutes
- 20GormleySubstituted forCoulsonat 49'minutes
- Craig Thomson
- Shots on Target
Second Half ends, Aberdeen 1, St. Johnstone 0.
Attempt saved. Niall McGinn (Aberdeen) left footed shot from the centre of the box is saved in the centre of the goal.
Substitution, St. Johnstone. Christopher Kane replaces Paul Paton.
Substitution, Aberdeen. Mark Reynolds replaces James Maddison.
Goal! Aberdeen 1, St. Johnstone 0. Adam Rooney (Aberdeen) header from the centre of the box to the bottom right corner. Assisted by Graeme Shinnie with a cross.
Attempt saved. David Wotherspoon (St. Johnstone) right footed shot from outside the box is saved in the top left corner.
Foul by Andrew Considine (Aberdeen).
David Wotherspoon (St. Johnstone) wins a free kick in the defensive half.
Foul by Peter Pawlett (Aberdeen).
Paul Paton (St. Johnstone) wins a free kick in the attacking half.
Attempt saved. James Maddison (Aberdeen) left footed shot from outside the box is saved in the top left corner.
Niall McGinn (Aberdeen) wins a free kick in the defensive half.
Foul by Liam Gordon (St. Johnstone).
Murray Davidson (St. Johnstone) is shown the yellow card for a bad foul.
James Maddison (Aberdeen) wins a free kick in the defensive half.
Foul by Murray Davidson (St. Johnstone).
Substitution, St. Johnstone. Liam Craig replaces Danny Swanson because of an injury.
Substitution, Aberdeen. Adam Rooney replaces Jayden Stockley.
Substitution, Aberdeen. Peter Pawlett replaces Wes Burns.