DR Congo and Ghana will meet in Abidjan in Sunday's final of the first-ever African Nations Championship.
Ghana were the first team into the final after beating Senegal on penalties in the Ivorian city of Bouake, while in Abidjan DR Congo beat Zambia 2-1.
Substitute Kwadwo Poku scored the winning penalty for Ghana in the lengthy shoot-out, which his side won 7-6, after the game ended 1-1.
With a capacity crowd of 25,000 packed into the Stadium of Peace, Ghana opened the scoring after Yaw Antwi tapped in on 31 minutes after Rahim Ayew broke free down the left and crossed for his colleague.
Although Ghana were looking the better side, Senegal equalised just four minutes later as Alpha Oumar Sow pounced from six yards as a free-kick came off the wall.
Ten minutes from time, Ghana's Harrison Afful thought he might have won it with a fine 20-yard strike but Senegal goalkeeper Mamadou Ba pulled off a terrific save.
After extra-time ended with no further goals, it went to penalties.
The first man to crack under the pressure was Senegalese midfielder Vito Badiane, whose effort was well saved by Philemon MacCarthy.
That just left Poku to step up and slot home to the delight of his team-mates.
DR Congo stormed into a 2-0 lead over Zambia before a small crowd at Abidjan's Felix Houphouet-Boigny Stadium.
Zambia keeper Davy Kaumbwa was caught off guard in the second minute and allowed a speculative long-range shot from Congolese captain Bongeli Lofo to find the net.
Lofo turned provider for the second goal scored by Dioko Kaluyituka on 16 minutes.
Zambia then dominated the second half but they could not reduce arrears until five minutes from full-time, when Given Singuluma headed home.
Senegal and Zambia will meet in the third place play-off on Saturday, also in Abidjan.