The holders edged an epic shootout 6-5 but only after Celtic goalkeeper Joe Hart had missed the chance to seal victory by hitting the post from the spot.
Aberdeen have had a terrible league season as they are not yet safe from relegation in the Scottish Premiership and have seen two managers depart Pittodrie this campaign.
But they have been a different side in cup competitions, also losing narrowly 1-0 to Rangers in December's League Cup final.
Bojan Miovski had given the Dons the perfect start by opening the scoring after just three minutes.
Celtic looked to have wrestled back control as Nicolas Kuhn levelled before half-time and substitute James Forrest fired into the bottom corner from outside the box to make it 2-1.
However, Ester Sokler's 90th minute equaliser sent the game to extra-time.
Again Celtic looked to have secured a place in the final thanks to Matt O'Riley's cool finish. Brendan Rodgers' men, though, were guilty to wasting a series of chances for a two-goal cushion and were made to pay in the final minute of extra-time.
Angus MacDonald headed in Junior Hoilett's teasing cross to take the match to spot-kicks. After seven perfect penalties, Ryan Duncan's effort came back off the post.
It gave former England number one Hart, who is set to retire at the end of the season, a shot at glory only to see his strike come back off the woodwork.
However, Hart was able to redeem himself with a save from Killian Phillips to keep Celtic on course for a league and cup double by the finest of margins.
"What a game for neutrals watching, but great spirit and credit both teams," said Rodgers, who is yet to lose a Scottish Cup tie in 16 matches as Celtic boss across two spells.
"Aberdeen did fantastic, nothing to lose and came and played really well. We had to dig in after a slow start, but I'm just happy to be in the final."
Rangers take on Hearts in the second semi-final at Hampden on Sunday.