Rank outsiders Burkina Faso will face Nigeria in the Africa Cup of Nations final after a 3-2 penalty shootout win over Ghana on Wednesday.
Ghana's Udinese midfielder Emmanuel Agyeman Badu had his effort saved by Daouda Diakite after earlier misses by teammates Isaac Vorsah and Emmanuel Clottey.
Bakary Kone, Henri Traore and Aristide Bance converted their chances to continue the fairy-tale run of a team that had turned up in South Africa with the modest ambition of ending a 17-match winless Nations Cup run.
Now they find themselves meeting Nigeria, 4-1 winners over Mali earlier, for a shot at becoming kings of Africa.
But they will have to do so without key player Jonathan Pitroipa, who misses the final after picking up two yellow cards.
The spot-kick climax was called for after the two teams were inseparable at 1-1 in a thrilling semifinal, with Bance's second-half goal cancelling out Mubarak Wakaso's early penalty.
The Burkinabe were deserved winners after almost coming unstuck by a series of strange decisions against them by Tunisian referee Slim Jdidi.
This video is not available in your region
Chief among them was a legitimate penalty claim turned down, a goal disallowed, and Pitroipa's sending off.
Burkina coach Paul Put said: "The refereeing decisions were scandalous.
"We've lost Pitroipa now for the final, he's very important to us, but we are 23 players and it's up to the technical staff to devise tactics to beat Nigeria without him and (injured) Alain Traore."
Burkina captain Charles Kabore added: "The referee is human, all humans make mistakes, but he happened to make too many tonight.
"But we're not going to dwell on that, we've qualified."
Ghana captain Asamoah Gyan commented: "We came here to win, the better side won on penalties.
"We're all really sad now, that's normal. we're down, but we have to psyche ourselves up now for the third place play-off with Mali."
Jdidi wrongly waved away claims for an early spot-kick when John Boye barged into Jonathan Pitroipa, knocking his Rennes teammate unceremoniously to the much maligned Mbombela Stadium turf.
But on 13 minutes the referee had no hesitation in giving Ghana a penalty after an innocuous tangle involving Mady Panandetiguiri and Christian Atsu.
Wakaso stepped up to convert past Daouda Diakite, for his fourth goal of the competition.
The penalty dramas sandwiched an unscripted substitution for Ghana, with Solomon Asante coming on for John Paintsil, stretchered off with a right thigh injury.
Burkina were giving as good as they got in attack, but would have to find a way to trouble Ghana keeper Fatawu Dauda in the second half if they were to make it to Soweto on Sunday.
On 52 minutes Dauda produced a superb save off the Augsburg attacker's header when he grabbed the ball from underneath the crossbar, Jdidi on this occasion getting it absolutely right, much to the Burkinabe fans' displeasure.
On the hour, Burkina got the equaliser their endeavour deserved, Bance, coolly firing past Dauda.
Diakite kept Ghana at bay with a diving save to deny Atsu's attempt to send the game into extra time.
Bance had his yellow spaghetti-mop hair in his hands on 102 minutes when clear on goal only to shoot high.
Jdidi made another strange decision against Burkina Faso when disallowing Prejuce Nakoulma's goal after a minor clash with Kwadwo Asamoah.
Pitroipa was harshly sent off on 117 minutes for picking up his second booking of the night, for diving, after he had, in fact, been felled.
Dauda produced a series of fine saves to keep Ghana in business, but with the crowd almost to a man on their side, Burkina held their nerve to book an improbable date at Soweto's Soccer City.