Emmanuel Mayuka came off the bench to score a late goal as Zambia shocked Ghana to earn a place in the Africa Cup of Nations final.
The substitute collected a pass and steered a shot into the bottom corner 12 minutes from the end after Asamoah Gyan missed a first-half penalty.
Gyan's effort was saved when Davies Nkausu fouled Kwadwo Asamoah.
Derek Boateng was sent off late on for Ghana before Prince Tagoe had a goal-bound shot blocked.
Despite the Black Stars' dominance and the penalty miss, Zambia's Chris Katongo had another great opportunity in the first half but fired off-target.
The Chipolopolo have never won the competition but the two-times runners-up have now reached the final of the competition for the first time since 1994.
While for Ghana, who reached the 2010 final and have not won the Cup of Nations for 30 years, it was another crippling blow in similar circumstances to their World Cup exit in 2010.
Back then, the Black Stars fell to a penalty-shoot out defeat in the quarter-final against Uruguay, where Gyan again missed from the spot in normal time.
This time it was Kennedy Mweene who saved, as the striker shot low to the keeper's left after Asamoah was caught by Nkausu following Samuel Inkoom's cross.
Ghana, who were without the injured Emmanuel Agyemang Badu dominated possession in the first period with brothers Andre and Jordan Ayew showing some neat link-up play as they strove to get in behind the Zambian defence.
But Herve Renard's team stood firm, and after Nathan Sinkala tested goalkeeper Adam Kwarasey, they could have taken the lead on the break.
Rainford Kalaba cleverly received the ball and slipped in Katongo, but he shot wide from 12 yards with only Kwarasey to beat.
Jordan Ayew missed a sitter when his brother found him before the break and shot from range early in the second half, yet for all their persistence and further efforts by Gyan, Ghana could not pierce the Zambian defence.
With the game in a lull it was a surprise, then, that Gyan was replaced with 15 minutes left, especially as Zambia struck with the second half's only major chance.
And when it finally came it was a goal worthy of winning the match.
Half-time substitute Mayuka was fed by Isaac Chansa, before he held off a Ghanaian challenge and on the half turn fired into the bottom corner and in-off the post.
The Ghana riposte was put off course when Derek Boateng received his second yellow card to reduce the 1982 champions to 10 men.
And although Tagoe was denied in the closing stages, the four-times champions were made to rue another missed opportunity to claim silverware.