South African Airways, British Airways and Air Namibia fly from Johannesburg to Windhoek every 4 hours. Alternatively, InterCape operates a bus from Johannesburg to Windhoek once daily. Tickets cost $30 - $50 and the journey takes 11 h. InterCape also services this route once daily.
From Johannesburg Park train to Sandton, train to Johannesburg airport, fly to Windhoek airport, then drive to Windhoek. 4 h 54 min $130. From Johannesburg bus to Upington then bus to Windhoek. 0 h $83. From Johannesburg drive to Windhoek. 18 h 46 min $161.