South Africa spans latitudes 22°S to 35°S, placing the entire country in the Southern Hemisphere where seasons reverse Northern Hemisphere patterns. The country measures 1,739 kilometers from the Limpopo River at the Zimbabwean border to Cape Agulhas at Africa's southernmost point, creating substantial climatic variation across 1,221,037 square kilometers. Three ocean systems influence South African climate: the cold Benguela Current flowing northward along the Atlantic coast, the warm Agulhas Current flowing southward along the Indian Ocean coast, and the convergence zone where these systems meet near Cape Agulhas. Altitude modifies temperature across the interior plateau, which maintains elevations between 900 and 1,800 meters across most of Gauteng, Free State, and the Northern Cape. The Drakensberg Mountains reach 3,482 meters at Mafadi peak on the Lesotho border, creating orographic precipitation patterns that leave the interior plateau semi-arid while delivering over 1,000 millimeters annually to eastern escarpment slopes.
The Western Cape operates on a Mediterranean climate system, receiving 515 millimeters average annual rainfall in Cape Town concentrated between May and August. This pattern isolates the southwestern corner from the rest of South Africa, where summer rainfall dominates. The winter rainfall zone extends approximately 200 kilometers inland from the Atlantic coast and 300 kilometers eastward along the southern coast to Mossel Bay, marking the beginning of the Garden Route transition zone. Winter frontal systems track northward from the Southern Ocean, delivering rainfall in discrete events typically lasting two to four days. Cape Town records an average 82 millimeters in June, 93 millimeters in July, and 77 millimeters in August, comprising 56 percent of annual precipitation in these three months. Summer months from December through February average 15 millimeters combined monthly rainfall in Cape Town, with January recording 5.5 millimeters historically.
Johannesburg sits at 1,753 meters elevation on the Highveld plateau, creating a subtropical highland climate where altitude moderates what would otherwise be tropical temperatures at 26°S latitude. Summer rainfall dominates from October through April, with December through February each averaging 125 millimeters, delivered primarily through afternoon thunderstorms forming when surface heating creates convective uplift. January records an average 125 millimeters across 11 rain days, while July receives 4 millimeters across 1 rain day on average. The Highveld experiences approximately 300 cloudless days annually, with winter months from May through August seeing minimal cloud cover. Temperatures in Johannesburg average 20°C maximum and 9°C minimum in July, rising to 26°C maximum and 15°C minimum in January. Frost occurs on average 21 nights per winter, typically between late May and early August, when clear skies allow rapid nocturnal temperature drops.
Pretoria, located 50 kilometers north of Johannesburg at 1,339 meters elevation, records temperatures averaging 2°C warmer than Johannesburg across all months due to lower altitude. January maximum temperatures average 29°C in Pretoria versus 26°C in Johannesburg, while July minimums average 6°C versus 4°C. Both cities share the Highveld rainfall pattern, but Pretoria receives marginally less precipitation, averaging 674 millimeters annually versus Johannesburg's 713 millimeters. The jacaranda trees lining Pretoria streets bloom from late September through November, triggered by the transition from dry winter to wet summer conditions and temperature increases past 20°C daily maximums.
Durban at 29.8°S latitude on the Indian Ocean coast experiences humid subtropical conditions modified by the warm Agulhas Current, which maintains sea surface temperatures between 21°C in August and 26°C in February. This maritime influence creates South Africa's most humid city climate, with relative humidity averaging 72 percent year-round. Durban receives 1,009 millimeters average annual rainfall distributed across all months, though summer rainfall from November through March dominates, with January recording 134 millimeters and February 113 millimeters. Winter months remain relatively wet compared to interior regions, with July averaging 39 millimeters. Temperatures range from 23°C maximum and 17°C minimum in July to 28°C maximum and 21°C minimum in February. The Agulhas Current flowing southward along the coast creates persistent onshore flow, generating morning fog and cloud that typically clears by midday year-round.
The Garden Route coastal belt from Mossel Bay eastward to the Tsitsikamma National Park boundary near Storms River experiences year-round rainfall, receiving precipitation from both winter frontal systems moving in from the Atlantic and summer convective systems from the Indian Ocean. Knysna at the Garden Route center records 666 millimeters annually distributed relatively evenly, with March receiving 72 millimeters and October 67 millimeters as peak months. The Outeniqua Mountains rising immediately north of the Garden Route create orographic enhancement, with southern slopes receiving over 1,000 millimeters while the interior Little Karoo semi-desert 30 kilometers north receives under 300 millimeters. Sea temperatures along the Garden Route remain moderated by mixing between the Atlantic and Indian systems, averaging 17°C in August and 20°C in February, cooler than Durban but warmer than the Atlantic coast.
Port Elizabeth, now officially named Gqeberha, at 33.9°S on Algoa Bay experiences transitional climate between the winter-rainfall Cape and summer-rainfall eastern regions. The city receives 625 millimeters distributed across all months with slight peaks in March at 62 millimeters and October at 58 millimeters. This even distribution makes Port Elizabeth one of South Africa's least seasonal climates, with no genuinely dry months. Maximum temperatures range from 20°C in July to 25°C in February, while minimums span 10°C to 18°C across the same months. The city experiences stronger winds than most South African coastal locations, with prevailing southeasterlies averaging 25 kilometers per hour in spring and summer months.
Kruger National Park extends 350 kilometers north-south from the Limpopo River at 22°S to the Crocodile River at 25.5°S, and 60 kilometers east-west from the Lebombo Mountains to the Drakensberg escarpment foothills. Elevation ranges from 200 meters in eastern lowveld sections to 800 meters in southwestern areas near the escarpment. This creates distinct climate zones within the park. Northern Kruger around Punda Maria receives 550 millimeters average annual rainfall, southern sections near Skukuza receive 740 millimeters, driven by orographic effects as the escarpment forces moisture uplift. Rainfall concentrates from November through March, with January averaging 110 millimeters in Skukuza. The park operates on tropical to subtropical savanna climate, with October recording the highest temperatures before rains begin, reaching 33°C average maximum. Winter months from June through August see minimums averaging 8°C and maximums 25°C, with frost rare except in southwestern highveld transition zones.
The Kalahari Desert covering much of the Northern Cape province represents semi-arid rather than true desert conditions, receiving 150 to 300 millimeters annually depending on location. Upington in the Kalahari records 157 millimeters average annual rainfall, with summer months from December through February contributing 75 percent of this total. January and February each average 30 millimeters. The Kalahari experiences South Africa's most extreme temperature ranges, with Upington recording July minimums averaging 2°C and January maximums 36°C, creating a 34°C seasonal range. Diurnal temperature variation exceeds 20°C on winter days, with July afternoons reaching 20°C average maximum before dropping below freezing overnight. The Orange River flowing through the Kalahari creates narrow riparian microclimates supporting irrigation agriculture, but surrounding desert conditions prevail beyond floodplains.
The Drakensberg Mountains forming South Africa's border with Lesotho create the country's most pronounced orographic climate effects. Eastern slopes facing Indian Ocean moisture deliver over 1,200 millimeters annually to locations like Cathedral Peak, while western slopes descending to the Free State interior receive under 600 millimeters. The high Drakensberg above 2,000 meters elevation experiences snowfall from May through September, with multiple events per winter reaching depths of 30 to 50 centimeters that persist for days to weeks. Golden Gate Highlands National Park at 2,000 meters elevation on the Drakensberg's western flank records snow on average 10 days per winter, though accumulation typically melts within 24 hours at these lower elevations. Summer thunderstorms in the Drakensberg occur almost daily from December through February, typically forming by 2 PM as convective heating reaches maximum intensity.
Cape Town experiences the most distinctive monthly climate progression of any South African city due to strict Mediterranean patterns. January delivers the driest conditions, averaging 15 millimeters rainfall across 5 rain days, with maximum temperatures reaching 27°C and minimums 16°C. February remains similarly dry with 17 millimeters. March begins the transition period as the first cold fronts track northward from the Southern Ocean, delivering 44 millimeters across 8 rain days. April accelerates rainfall to 80 millimeters across 11 days as frontal frequency increases. May through August constitute the core winter rainfall period, with these four months delivering 440 millimeters combined, representing 85 percent of annual precipitation. June peaks at 93 millimeters across 14 rain days. September marks transition back toward dry conditions with 43 millimeters. October through December see rapidly declining rainfall as the subtropical high-pressure belt shifts south over the Cape, delivering 26, 17, and 16 millimeters respectively.
The Cape Peninsula extending south from Cape Town to Cape Point experiences the most extreme Mediterranean climate in South Africa. Cape Point receives 439 millimeters annually, substantially less than Cape Town's 515 millimeters, but concentrated even more strictly into winter months. The peninsula experiences persistent northwesterly winds in winter associated with frontal passages, and strong southeasterly winds in summer called the Cape Doctor, which average 35 kilometers per hour in December and January. These summer southeasterlies draw cold Benguela Current water to the surface along the Atlantic coast, maintaining sea temperatures at 14°C in February, South Africa's warmest month elsewhere, while False Bay on the Indian Ocean side reaches 20°C the same month due to Agulhas Current influence.
The Wild Coast extending from East London northward to the Eastern Cape-KwaZulu-Natal border experiences year-round rainfall peaking in summer months. East London receives 820 millimeters annually with March recording 85 millimeters and October 75 millimeters as peak months. This region maintains the most consistent monthly temperatures of any South African coast, ranging from 21°C maximum in July to 26°C in February, moderated by consistent Indian Ocean influence. Morning mist forms frequently year-round as the Agulhas Current maintains warm sea surface temperatures against cooler overnight land temperatures.
Bloemfontein at 1,395 meters elevation in the Free State interior experiences continental climate with summer rainfall. The city receives 559 millimeters annually concentrated from October through March, with January and February each averaging 87 millimeters. Winter months are extremely dry, with June receiving 8 millimeters and July 5 millimeters. Temperature ranges are pronounced, with July minimums averaging minus 3°C and January maximums 31°C. Frost occurs on average 80 nights per year, concentrated from May through September, making Bloemfontein South Africa's second-frostiest major city after Johannesburg.
Kimberley in the Northern Cape at 1,197 meters elevation sits in the transition zone between Highveld and Kalahari climate systems. The city receives 420 millimeters annually, with summer months from December through February contributing 55 percent of this total. January records 75 millimeters average rainfall. Winter months are almost completely dry, with June and July each averaging 3 millimeters. Kimberley experiences pronounced temperature extremes, with July minimums averaging 0°C and January maximums 33°C. The city records frost on approximately 50 nights per winter, though accumulation rarely occurs due to low humidity.
Stellenbosch in the Cape Winelands 50 kilometers east of Cape Town follows Mediterranean rainfall patterns but receives marginally more precipitation due to orographic enhancement from surrounding mountains. The town records 664 millimeters annually compared to Cape Town's 515 millimeters, with June and July each contributing over 100 millimeters. Temperatures are slightly more continental than coastal Cape Town, with summer maximums averaging 28°C versus 26°C, and winter minimums 7°C versus 8°C. The Winelands experience crucial diurnal temperature variation during grape ripening season from February through April, with afternoon temperatures reaching 25°C and night temperatures dropping to 12°C, a 13°C range that concentrates sugars and acids.
The Kgalagadi Transfrontier Park straddling the Botswana border in the far Northern Cape represents South Africa's most arid protected area, receiving approximately 200 millimeters annually at Twee Rivieren camp. Rainfall concentrates from January through March, with February averaging 50 millimeters delivered in intense isolated thunderstorms. Winter months from May through August receive less than 5 millimeters combined. The park experiences temperature extremes exceeding those at Upington, with summer maximums regularly surpassing 40°C from December through February, and winter minimums dropping to minus 10°C on clear nights when terrestrial radiation escapes unimpeded through dry atmosphere.
The Lowveld region east of the Drakensberg escarpment extending through Mpumalanga and northern KwaZulu-Natal experiences subtropical conditions with summer rainfall. Nelspruit at 660 meters elevation receives 767 millimeters annually, with January averaging 130 millimeters and February 110 millimeters. Winter months from June through August combine for only 25 millimeters total. The region experiences South Africa's most oppressive summer humidity, with January afternoon relative humidity averaging 65 percent combined with 30°C temperatures, creating heat index values regularly exceeding 35°C. Winter conditions are mild and dry, with July temperatures averaging 22°C maximum and 8°C minimum, creating ideal conditions for outdoor activities.
The Karoo semi-desert occupying the interior plateau between the Cape Fold Mountains and the Orange River receives 200 to 400 millimeters annually in a summer rainfall pattern, despite being located south of Bloemfontein. Beaufort West records 239 millimeters annually, with March averaging 35 millimeters and February 30 millimeters. The Karoo experiences extreme diurnal temperature variation, with summer days reaching 35°C and nights cooling to 15°C, a 20°C range. Winter brings frost risk from May through August, with July minimums averaging 0°C despite afternoon maximums reaching 18°C.
iSimangaliso Wetland Park on the KwaZulu-Natal northern coast experiences the highest rainfall of any major South African conservation area, with St Lucia village receiving 1,200 millimeters annually. Summer months from November through March dominate precipitation, with January recording 170 millimeters. The park's location immediately adjacent to the warm Agulhas Current creates persistent high humidity year-round, averaging 75 percent. Winter months remain relatively wet, with July receiving 39 millimeters. Temperatures are consistently warm, ranging from 23°C maximum in July to 29°C in January, with minimums never dropping below 16°C average.
Table Mountain creates dramatic microclimates across elevations spanning sea level to 1,086 meters at Maclear's Beacon. The summit receives approximately 1,500 millimeters annually, nearly triple Cape Town's 515 millimeters, as orographic uplift forces moisture condensation from air masses pushing over the mountain. The famous tablecloth cloud forms when southeasterly winds force moist air over the plateau, cooling it below the dew point and creating persistent cloud that drapes the summit while surrounding areas remain clear. This phenomenon occurs primarily from October through March when southeasterly winds dominate. Winter months see the tablecloth rarely, as northwesterly frontal systems approach from different angles.
The Cederberg Wilderness Area 200 kilometers north of Cape Town in the Western Cape experiences transitional climate between Mediterranean and semi-arid patterns. The region receives 450 millimeters annually concentrated in winter months, with June averaging 80 millimeters. Summer months are almost completely dry, with January recording 8 millimeters average. The Cederberg experiences pronounced altitude effects, with valleys at 600 meters elevation recording July minimums near 2°C, while peaks above 2,000 meters regularly receive snow multiple times per winter. Temperature inversions are common on clear winter nights, with cold air draining into valleys while slopes remain several degrees warmer.
Augrabies Falls on the Orange River in the Northern Cape sits in extreme semi-arid climate receiving only 120 millimeters annually at the falls themselves. Summer months from January through March contribute 75 percent of annual rainfall, with February averaging 28 millimeters. The region experiences South Africa's highest absolute temperatures, with maximums exceeding 45°C recorded in December through February. Winter months are mild and completely dry, with June and July each averaging under 2 millimeters rainfall. July temperatures average 23°C maximum and 5°C minimum.