Burkina Faso are into the final of the Africa Cup of Nations after beating Ghana 3-2 on penalties on Wednesday.
It was a heated game from the beginning on a dreadful Mbombela Stadium pitch in Nelspruit and Burkina Faso proved too good in the lottery of the shootout after the clash finished locked at 1-1.
Wakaso Mubarak had given Ghana a 13th-minute lead from the penalty spot before Aristide Bance levelled on the hour-mark.
After several poor penalties, Bance put Burkina Faso ahead 3-2 with his country's fourth penalty.
When Daouda Diakite kept out Emmanuel Agyemang-Badu's penalty, Burkina Faso were through to the final, booking a meeting against Nigeria.
Burkina Faso were unlucky not to have a penalty inside five minutes when Jonathan Pitroipa was brought down.
Just eight minutes later, Ghana were awarded a spot-kick after Christian Atsu went down under the slightest of challenges from Madi Panandetiguiri.
Wakaso stepped up and converted his third penalty in five games to give Ghana a 1-0 lead.
Diakite denied Asamoah Gyan on the half-hour, while Prejuce Nakoulma, Burkina Faso's most threatening player, ballooned an effort well over.
Burkina Faso went close to an equaliser on 52 minutes as Bance produced a powerful header, but Fatawu Dauda palmed the effort onto his crossbar before collecting the rebound.
Gyan hit the post soon after before Burkina Faso equalised through Bance in the 60th minute.
Agyemang-Badu was dispossessed in the area and a pass was fed out to Bance, who finished neatly past Dauda.
Gyan headed over with a quarter of an hour to play before Paul Koulibaly was fortunate to remain on the pitch, given a yellow card for kicking out at the former Sunderland striker.
Neither side were able to make inroads early in extra-time before Harrison Afful's strike was pushed over by the excellent Diakite.
Bance and Nakoulma went close for Burkina Faso before they were reduced to 10 men as Pitroipa was sent off, picking up his second yellow card just three minutes prior to the shootout.
Isaac Vorsah put Ghana's first penalty well wide before Bakary Kone, Atsu, Henri Traore and Afful all scored.
Koulibaly and Emmanuel Clottey saw their spot-kicks saved before Bance netted, with Diakite making himself the hero by denying Agyemang-Badu.
(GH) Mubarak Wakaso '11' (Pk)
(BF) Bance '60'
Ghana line up:
Fatau Dauda, John Paintsil, Harrison Afful, John Boye, Isaac Vorsah, Rabiu Mohammed, Christian Atsu, Agyemang Badu, Asamoah Gyan, Mubarak Wakaso, Kwadwo Asamoah