Senegal came from two goals down to settle for a 2-2 draw with Eswatini before winning the semifinal match 3-0 on post-match penalties.
The semifinal match took place at Nelson Mandela Bay in Port Elizabeth on Friday afternoon.
Sifiso Matse scored Eswatini’s first goal on the quarter hour mark before Sabelo Ndziniza doubled the advantage five minutes later for Eswatini.
However, Eswatini did not start the second half on a sound footing they allowed Senegal back into the game.
The Teranga Lions seized the advantage when Pape Djitte scored in the 58th minute
The afternoon went from bad to worse for Eswatini as they had Fanelo Mamba red-carded for a bookable offence.
Eswatini eventually leveled matters through El Hadje Kane with 10 minutes to full-time.
Thereafter, the game went into penalties which saw Eswatini miss all their attempts.
Senegal date either South Africa or Mozambique in the final of the regional competition.
Bafana Bafana and the Mambas will meet in another semi-final later in the day at the same venue.
Senegal qualified for the last-four stage from Group B that had Malawi, Zimbabwe, Namibia and Mozambique.
The Teranga Lions have brought to the tournament their B team and are participating as guests.
On the other hand, Eswatini qualified for the semifinals from Group B comprising leaders South Africa, Lesotho, Zambia and Botswana.
The competition involved 10 teams which were split into two groups each of five teams.
From the group phase, two top teams from each group made it into the semifinal phase.