La Zambie connaît un climat tropical fortement tempéré par l'altitude. Le plateau qui occupe la majeure partie du pays culmine entre 1 000 et 1 400 mètres, ce qui abaisse les températures de plusieurs degrés par rapport aux terres basses de même latitude. Lusaka, située vers 1 280 mètres, jouit ainsi d'un régime que l'on qualifie plus volontiers de subtropical durant la période fraîche. Les vallées encaissées du Zambèze et du Luangwa font exception avec des chaleurs nettement plus fortes.
Le calendrier climatique se découpe en trois périodes distinctes. La saison des pluies s'étend de novembre à avril et concentre la quasi-totalité des précipitations annuelles, sous forme d'averses orageuses souvent violentes en fin de journée. De mai à août succède une saison sèche et fraîche, la plus agréable pour les déplacements, durant laquelle les nuits peuvent devenir froides sur le plateau. De septembre à la reprise des pluies s'installe une saison sèche et chaude, marquée par des maximales élevées et une atmosphère chargée de poussière.
Les hauteurs d'eau décroissent nettement du nord vers le sud-ouest. Les provinces septentrionales reçoivent couramment plus de 1 200 millimètres par an, tandis que le sud et la vallée du Zambèze restent en deçà de 700 millimètres. Ce gradient commande la répartition des cultures et explique que la production céréalière se concentre dans les zones les mieux arrosées du centre et du nord.
La variabilité interannuelle constitue le principal risque climatique du pays. La saison 2023 et 2024 a été marquée par une sécheresse d'ampleur exceptionnelle liée au phénomène El Niño, qui a conduit les autorités à déclarer l'état de catastrophe nationale en février 2024. Une large part de la récolte de maïs a été perdue et le niveau du lac Kariba est tombé si bas que la production hydroélectrique s'est effondrée, imposant des délestages quotidiens de longue durée pendant plusieurs mois. Les inondations constituent l'autre face du même déséquilibre et touchent régulièrement les plaines du Zambèze et du Kafue.