Gardening in South Africa: climate, frost dates and crops by region
We worked out the season of 5 cities of South Africa from ten years of weather: the frost-free season lasts from 291 days in Bloemfontein to 305 days in Johannesburg. The last spring frost comes first in Pretoria (around 23 July) and last in Bloemfontein (around 17 August). 2 of the cities had no frost at all.
Climate zones of South Africa
By the days between the last spring frost and the first autumn frost.
| Zone | Cities | Frost-free days | Last spring frost | First autumn frost |
|---|---|---|---|---|
| 270 frost-free days or more | Johannesburg, Bloemfontein | 291 – 305 | 4 August – 17 August | 4 June – 5 June |
| Frost without a regular season | Pretoria | — | 23 July | — |
| No frost in ten years | Durban, Cape Town | — | — | — |
How the regions of South Africa differ
Splitting the cities in two — west (Bloemfontein and Cape Town) and east (Durban and Pretoria): the west gets about 500 mm of rain a year and the east about 748 mm.
The gap between the warmest month’s days and the coldest month’s nights is widest in Bloemfontein (28.4 °C) and smallest in Durban (16.6 °C): the smaller it is, the milder both winter and summer. Durban is the wettest of these cities with 869 mm a year, Bloemfontein the driest with 480 mm. The hottest summer days are in Bloemfontein (29.8 °C on average in the warmest month), the coolest in Johannesburg (25.9 °C). In none of these cities does a month average below 0 °C at night.
Which crops suit which part of South Africa
Season long enough: the days from planting to the first autumn frost cover the days to the first harvest on the plant card. Each window starts on the Greenly calendar date and ends on the last day that still leaves the crop’s days to harvest (from its card) before the average first autumn frost, plus six weeks of picking for crops harvested over weeks (tomatoes, peppers, aubergines, cucumbers, courgettes, pumpkins, watermelons, beans) — our rule; earlier in the window is safer.
| Crop | Planting out or sowing | Season long enough | Tight or too short |
|---|---|---|---|
| Tomato | 21 August (Johannesburg) – 13 February (Johannesburg) | all 3 | — |
| Cucumber | 6 September (Johannesburg) – 20 March (Johannesburg) | all 3 | — |
| Bell Pepper, Eggplant | 6 September (Johannesburg) – 13 February (Johannesburg) | all 3 | — |
| Zucchini | 6 September (Johannesburg) – 18 March (Johannesburg) | all 3 | — |
| Pumpkin | 6 September (Johannesburg) – 8 February (Johannesburg) | all 3 | — |
| Watermelon | 6 September (Johannesburg) – 24 February (Johannesburg) | all 3 | — |
| Peas | 14 July (Johannesburg) – 22 March (Johannesburg) | all 3 | — |
| Garlic, Tulip, Daffodil, Crocus, Hyacinth | Autumn planting: by 6 May (Johannesburg) | — | — |
Cities without a spring frost: months that suit each crop
Months whose average day is not above the highest temperature on the plant card and whose average night is not below its lowest.
| City | Tomato | Cucumber | Bell Pepper | Eggplant | Watermelon |
|---|---|---|---|---|---|
| Durban | April and November, December | December–March | October–April | none | December–March |
| Cape Town | January, February | none | December–March | none | none |
Cities of South Africa: weather in numbers
| City | Frost-free days | Warmest month, day | Coldest month, night | Rain a year | Driest month | Places to buy |
|---|---|---|---|---|---|---|
| Pretoria | — | January, 27.9 °C | July, 5.6 °C | 627 mm | August | 24 |
| Johannesburg | 305 | January, 25.9 °C | July, 3.3 °C | 621 mm | July | 18 |
| Bloemfontein | 291 | January, 29.8 °C | July, 1.4 °C | 480 mm | June | 5 |
| Durban | no frost | January, 27.5 °C | July, 10.9 °C | 869 mm | June | 5 |
| Cape Town | no frost | February, 26.9 °C | July, 8.2 °C | 519 mm | February | 21 |
ERA5 2016–2025 via Open-Meteo, 25 km grid cell of each city; dates by the Greenly calendar and the plant cards.