Craig Beattie scored a penalty in stoppage time to send Hearts into the final of the Scottish Cup at the expense of his former club Celtic at Hampden Park this afternoon.
Despite dominating for large parts of the tie, including a header from Ki Sung Yeung that struck the post just before the break, Celtic fell behind in the 47th minute.
Substitute Beattie was the architect, slotting a pass through for Rudi Skacel, who rounded Fraser Forster before sending the ball into the roof of the net.
Neil Lennon's Celtic continued to exert pressure on Hearts, creating numerous chances in the process.
One of those opportunities fell to Ki, but again he struck the woodwork with a headed effort.
The pressure finally told five minutes from time when Gary Hooper scored his first goal of the competition, heading in a cross from Charlie Mulgrew.
Hooper's goalscoring intervention looked to have forced extra-time until Hearts were awarded a penalty when Joe Ledley blocked a shot from Marius Zaliukas with his hand. Forster got a hand to Beattie's strike, but he was unable to keep the ball out.
Ledley had a chance to make amends in Celtic's last venture forward, but his volleyed shot was held by Hearts goalkeeper Jamie MacDonald.
Hearts will now take on the Edinburgh rivals Hibs in next month's final. That has not happened since 1896.