南非地理位置独特,大部分地区位于副热带高压带,气候类型以热带草原气候为主。夏季从十月持续到次年二月,而冬季则是六月到八月。德拉肯斯堡山脉有效地阻挡了印度洋的湿润气流,使得南非西部地区气候愈加干燥,大陆性气候特征愈发明显。在秋末冬初,雨水稀少,草原呈现出枯黄的景象。全年降水量呈现东多西少的趋势,从东部的1,000毫米降至西部的60毫米。
东部沿海地区年降水量可达1,200毫米,夏季气候湿润多雨,呈现出亚热带季风气候的特征。南部沿海和德拉肯斯山脉的迎风坡全年都有降水,气候湿润,属于海洋性气候。西南部的厄加勒斯角地区,冬季受西南风影响,降水量可达400~600毫米,占全年降水的四分之一,呈现地中海式气候特征。全国全年平均降水量为464毫米,低于世界平均水平857毫米。
南非的气温较南半球同纬度的其他国家要低,但年均温度仍在零度以上,一般在摄氏12~23度之间,温差相对较小。气温的垂直变化显著,这是由于海拔的高差造成的。此外,本格拉寒流和莫桑比克暖流分别影响西部和东部海岸,形成了经度上的气温差异。冬季内陆高原气温较低,虽然不常下雪,但霜冻却很常见。
南非全年平均日照时数为7.5~9.5小时,尤其是四五月间日照时间最长,因此南非也被称为“太阳之国”。