Based on my research and recent trip to South Africa, here are my recommendations for Johannesburg.
If you have 1 Day: Go to the Apartheid Museum in the morning and then Constitution Hill in the afternoon.
If you have 2 Days:
Go to the Apartheid Museum on day one and then on day two do a full day Soweto tour that includes Constitution Hill.
To fill in the afternoon of Day 1 some options include the Ditsong National Museum of Military History, RoseBank Mall area, drinks at the Alto234 in the Leonardo Hotel which is the tallest building in Africa (reservations are a must). All of these were on my list but the museum and the bar didn’t happen because of the weather and we spent much longer at the Apartheid Museum than planned.
If you have 3 Days: Take a day trip out to the Cradle of Mankind. We didn’t do this and in retrospect I wouldn’t change …. I enjoyed exploring the city and Soweto is one of those “must do” things. But if I ever get the opportunity to go back, I will definitely try to go.
I can’t recommend Abbey Guest House enough. This is a beautiful and lush property. Lucy will take phenomenal care of you. Breakfast is filling and delicious. And to be frank, when the weather made us retreat to back by mid-afternoon, we weren’t a bit sorry!
Eating: I had a long list of places to try, but based on the weather we only ate out twice and I’ll only recommend one of them – Pata Pata in Maboneng was great. After a two-week trip of superior food it remained one of our top three favorites!
Shuttle King is a great option if you want a pre-arranged shuttle from the airport to your hotel (or other places). I will definitely use them again for that initial airport pick up. But Ubers were very easy and cheap to use and I’d recommend that as your primary method of transportation.
Johannesburg is notorious for its crime. Be careful walking around. Either order money ahead of time before leaving or plan to exchange at the airport BEFORE leaving the customs/immigration area.