In the 16th minute, Thuso Phala crossed the ball in from the right and found the late run of Bradley Grobler, whose inch-perfect header sailed into the back of the net.
However, SuperSport were lucky not to concede moments later as Morgan Gould cleared Nicholas Opoku’s shot off the line following Ronwen Williams’ failure to gather from a set piece.
Club Africain surged forward time and time again as the first half progressed, but the Matsatsantsa defence dealt with the pressure.
In the 35th minute, Williams was forced into a fine save from a Ghazi Ayadi header, but that was as close as the hosts went to scoring before half-time.
Seven minutes into the second half, Teboho Mokoena played Jeremy Brockie through with a perfectly-timed pass and the striker fired the ball into the net.
The two-goal lead lasted for less than four minutes. Gould fouled Saber Khalifa in the penalty area, gifting Club Africain a chance to score from 12 yards. Khalifa stepped up, sent Williams the wrong way, and scored to give his side a lifeline.
Meanwhile, Oussama Darragi replaced Ayadi in the game’s first substitution. Eric Tinkler responded by bringing Tefu Mashamaite on for Brockie in the 60th minute.
Club Africain made their second change four minutes later as Opoku made way for Bilel Ifa.
In the 65th minute, Phala linked up with Grobler again as he played him through on goal. The striker calmly slotted his second goal in and brought SuperSport within touching distance of advancing.
Grobler was brought off for Fagrie Lakay three minutes after his second goal.
Club Africain made their final change in the 78th minute as Khalil Aounallah came on for Matthew Rusike. Two minutes later, Tinkler replaced Phala with Dove Womé.
SuperSport will face TP Mazembe in the final as Tinkler will have a chance to atone for his 2015 CAF Confederation Cup final defeat while in charge of Orlando Pirates.
Club Africain: Dkhili, Jaziri, Opoku (Ifa, 64’), Belkhiter, Abdi, Dekhili, Ayadi (Darragi, 56’), Khalil, Khalifa, Chenihi, Rusike (Aounallah, 78’).
SuperSport United: Williams, Nhlapo, Gould, Daniels, Modiba, Furman, Letsholonyane, Mokoena, Phala (Womé, 80), Grobler (Lakay, 68’), Brockie (Mashamaite, 60’).