Linda Motlhalo struck deep into stoppage time to fire Banyana Banyana into a second-successive Women’s Africa Cup of Nations final following a 1-0 victory over Zambia at Mohamed V Stadium on Monday.
Djurgarden midfielder Motlhalo scored from the penalty spot in the fourth minute of injury time in what was her second goal of this tournament.
South Africa will now wait to know who they will meet in the final between hosts Morocco and Nigeria who are due to clash in another semi-final match.
Having previously finished as Wafcon runners-up on five occasions, Banyana will be hoping to finally get it right this time around for their first continental title.
Banyana coach Desiree Ellis dropped from the starting line-up midfielder Mapula Kgoale, Lebohang Ramalepe while left-back Sibulele Holweni was absent.
Full-backs Bongekla Gamede and Karabo Dhlamini were back to start as Melinda Kgadiete returned to partner Jermaine Seoposenwe upfront.
Zambia coach Bruce Mwape replaced goalkeeper Hazel Nali with Catherine Musonda in what was the only change from the line-up that beat Senegal in the quarter-finals.
Mwape also opted to set up a frontline of three forwards Xiomara Mapepa, Lubandji and Avell Chitundu.
Shepolopolo showed from the start they were going to give Banyana a tough evening with some threatening play.
An unmarked Ochumba Lubandji failed to connect while being inside the box, connecting with a cross from the left side off Grace Chanda nine minutes into the contest.
Moments later, it was Chanda’s turn to shoot just wide, failing to direct her effort having been well-positioned.
Following the trouble of having to thwart Zambia’s danger, Banyana got a good opportunity to take the lead from a freekick outside the box but Refiloe Jane’s kick did not trouble goalkeeper Musonda just after the half-hour mark.
But Shepolopolo were back shortly after with Mapepa forcing Gamede to clear the danger.
Jane tried again on 34 minutes but shot weakly from the edge of the box and the teams went into the half-time break goalless.
Banyana then thought they had a glorious opportunity to score 13 minutes into the second half when they were awarded a penalty by referee Lidya Tafesse Abebe.
But the video assistant referee overturned Tafesse Abebe’s decision for a free-kick as South Africa had got back into the game to stop Zambia's dominance.
Goals, however, continued to elude both sides but with seven minutes to go, South Africa substitute Hilda Magaia almost got the breakthrough from close range but Musonda did well to save.
As the match appeared headed for a draw, Martha Tembo fouled Seoposenwe inside the box to earn Banyana a penalty after consultation with VAR by Abebe.
Motlhalo then stepped up to beat Musonda from the spot to hand South Africa the narrow victory.