Here are some of the flights SAA runs from JNB to CPT. I'm arriving to JNB on Delta at 4:25 p.m. so I'm thinking the 6:30 p.m. might be tight. I'll probably book the 7p.m.
Nationwide Air and a few other airlines also offer the service but I feel more comfortable with SAA.
Andrea
SA 365 leaving JNB at 6:30 p.m., arriving CPT at 8:40 p.m.
SA367 leaving JNB at 7:00 p.m., arriving CPT at 9:10 p.m.
SA 369 leaving JNB at 8:00 p.m., arriving CPT at 10:10 p.m.
SA 375 leaving JNB at 9:00 p.m., arriving CPT at 11:10 p.m.
When I checked, the prices were $153 pp for economy and $346 for business.