The draw for the annual cup competition took place on Sunday afternoon after the last round of fixtures as Marumo Gallants saw off Durban City 4-1 on penalties, after the match had ended goalless after extra time.
On Saturday, Pirates had secured their last four place with a 5-4 penalty shootout win over SuperSport United after their intriguiing 2-2 draw.
Kaizer Chiefs controversially beat Stellenbosch 3-1, as Mamelodi Sundowns' quarter-final with Sekhukhune United was postponed because of a double-booking.
The winner between Sundowns and Sekhukhune will play host to Chiefs, while Pirates are at home to Gallants, setting up a potential meeting of the two Soweto sides in the final.
Full draw:
Mamelodi Sundowns/Sekhukhune United vs Kaizer Chiefs
Orlando Pirates vs Marumoa Gallants