South Africa is situated between 22°S and 35°S, in the Southern Hemisphere’s subtropical zone. It has a wider variety of climates than most other countries in sub-Saharan Africa, and it has lower average temperatures than other countries within this range of latitude, like Australia, because much of the interior of South Africa is at higher elevation.

South Africa has typical weather for the Southern Hemisphere, with the coldest days in June–August. On the central plateau, which includes the Free State and Gauteng provinces, the altitude keeps the average temperatures below 30 °C (86 °F); Johannesburg, for example, lies at 1,753 metres (5,751 ft). In winter temperatures can drop below freezing, also due to altitude. During winter it is warmest in the coastal regions, especially on the eastern Indian Ocean coast.

The Highveld is the eastern plateau area of South Africa. It is typified by Johannesburg, at an elevation of 1,753 metres (5,751 ft). The former CBD is found on the south side of the prominent ridge called the Witwatersrand (Afrikaans: White Water’s Ridge) and the terrain falls to the north and south. By and large the Witwatersrand marks the watershed between the Limpopo and Vaal rivers. The north and west of the city has undulating hills while the eastern parts are flatter.

The city enjoys a dry, sunny climate, with the exception of occasional late afternoon downpours in the summer months of October to April. Temperatures in Johannesburg are usually fairly mild due to the city’s high altitude, with the average maximum daytime temperature in January of 26 °C (78.8 °F), dropping to an average maximum of around 16 °C (60.8 °F) in June. Winter is the sunniest time of the year, with cool days and cold nights. The temperature occasionally drops to below freezing at night, causing frost. Snow is a rare occurrence, with snowfall having been experienced in May 1956, August 1962, June 1964, September 1981, August 2006 (light), on 27 June 2007, accumulating up to 10 centimetres (3.9 in) in the southern suburbs, and most recently on 7 August 2012.

Regular cold fronts pass over in winter bringing very cold southerly winds but usually clear skies. The annual average rainfall is 713 millimetres (28.1 in), which is mostly concentrated in the summer months. Infrequent showers occur through the course of the winter months.

Average temperatures (°C) in South Africa

City Summer (Jan) Max Summer (Jan) Min Winter (July) Max Winter (July) Min
Bloemfontein 31 15 17 -2
Cape Town 26 16 18 7
Durban 28 21 23 11
East London 26 18 21 10
George 25 15 19 7
Johannesburg 32 15 19 7
Kimberley 33 18 19 3
Mthatha 27 16 21 4
Musina 34 21 25 7
Nelspruit 42 19 23 6
Pietermaritzburg 28 18 23 3
Polokwane 28 17 20 4
Port Elizabeth 25 18 20 9
Pretoria 34 18 24 5
Richards Bay 29 21 23 12
Skukuza 33 21 26 6
Thohoyandou 31 20 24 10
Upington 36 20 21 4