Burkina Faso survived the controversial late dismissal of Jonathan Pitroipa to book their first ever appearance in the African Nations Cup final with victory on penalties over Ghana in Nelspruit.
Ghana took the lead through a Mubarak Wakaso penalty in the first half but neither side could force a winner after Aristide Bance levelled on the hour.
In the shootout, Isaac Vorsah set the tone for Ghana with a terrible miss from 12 yards, the ball bobbling uselessly wide to the delight of the Burkina Faso faithful.
Another lamentable effort by Emmanuel Clottey had Ghana in even more trouble, and with Burkina Faso netting through Bakary Kone, Henri Traore and Bance, the shootout was settled when Emmanuel Agyemang-Badu's effort was saved by Daouda Diakite.
The penalty showdown was a fitting finale to an enthralling contest over 120 minutes.
Nigeria sealed their place in the African Nations Cup final after brushing aside Mali 4-1 in convincing fashion in Durban.
The Super Eagles, who defeated favourites Ivory Coast in the quarter-finals, had victory all but secured before half-time after netting three times in the first period through Elderson Echiejile, Brown Ideye and an own goal by Mohamed Sissoko.
Nigeria then added a fourth goal on the hour mark through substitute Ahmed Musa to end any hopes of a second-half fightback from Mali, whose late consolation from replacement Cheick Diarra was nowhere near enough to prevent a second successive semi-final exit.
The result sees Nigeria progress through to their seventh African Nations Cup final and first since 2000, while Mali's bid to repeat their 1972 appearance in the title match goes on.
Nigeria do not have a great record in those finals, winning just two of six, but they will go Sunday's encounter against either Burkina Faso or Ghana with confidence soaring after building on their triumph over Ivory Coast with an impressive display at a rain-swept Moses Mabhida Stadium on Wednesday.