Taking a Johannesburg city tour is a great way to experience the city's highlights, and they only take up about 3 hours, leaving you ample time to see some of the city's other attractions such as Constitution Hill and the Zoology Museum. Round out this day with a night out in the nearby suburb of Melville. Melville is sort of a Bohemian enclave mixed with a university town.
On your second day, take a walk on the wild side with trips to the Pilanesberg Nature Reserve and Sun City Resort. A twelve-hour tour takes you from your hotel to the aforementioned nature reserve, where you'll search (from the safety of a 4x4) for the so-called "big five" - lions, elephants, leopards, rhinos and African buffalo. The second half of the trip takes you to Sun City, a casino resort/golf course with numerous bars and restaurants.
On the last day of your trip, head to Soweto for half a day.