Kaizer Chiefs 1-1 AmaZulu (Usuthu won on penalties)
AmaZulu booked a spot in the final after edging Kaizer Chiefs 4-3 on penalties after a 1-1 draw in the semi-finals on Saturday afternoon at Makhulong Stadium.
Amakhosi found the back of the net in the 21st minute but their goal was disallowed for a foul on Usuthu goalkeeper Olwethu Mzimela.
However, Tshepo Mahlala finally broke the deadlock four minutes later but Chiefs' lead did not last long, as Lindokuhle Zungu levelled matters for AmaZulu ten minutes before the break.
Mohlala thought he had restored the lead for Arthur Zwane's charges after chipping Mzimela inside the box but his shot was cleared off the line.
The second stanza did not produce any goals and the sides went straight to penalties after 1-1 draw, where Usuthu beat Amakhosi 4-3 and will meet Mamelodi Sundowns in the final.
Mamelodi Sundowns 3-2 Cape Town City
Mamelodi Sundowns went through to the final after edging Cape Town City in a five-goal thriller in the semi-finals on Saturday morning at Makhulong Stadium.
Taahir Goedeman gave City the lead in the 12th minute with a strike from the penalty spot but Siyanda Nyanga equalised for Sundowns with a screamer from outside the box.
Musawenkosi Mdluli gave Surprise Moriri's troops a 2-1 lead six minutes later with another cracker from outside the box and Siphesihle Mkhize found the back of the net for the Brazilians on the stroke of half-time but his goal was disallowed for a handball inside the box.
Mimnikiwe Mbonde eventually made it 3-1 for Masandawana ten minutes from the break but Goedeman gave the Citizens hopes of a comeback after pulling a goal back three minutes later and grabbed his brace.
The game was on the edge in the dying minutes and Sundowns goalkeeper Glen Baadjies pulled off a crucial save, as Masandawana held on to reach the final and will fight with AmaZulu for the silverware.