Sri Lanka’s climate is rather complicated for such a small country, due to the fact that the island is affected by two separate monsoons – though this also means that there is usually good weather somewhere on the island, at most times of the year. It’s worth bearing in mind, however, that the basic pattern described below can vary significantly from year to year, and that global warming has disrupted these already complex weather patterns.
The basic rainfall pattern is as follows. The main southwest (“yala”) monsoon brings rain to the west and southwest coasts and hill country from April/May to September (wettest from April to June). The less severe northeast (“maha”) monsoon hits the east coast from November to March (wettest from November to December); there’s also a inter-monsoonal period of unsettled weather preceding the Maha monsoon in October and November during which heavy rainfall and thunderstorms can occur anywhere across the island. In practical terms, this means that the best time to visit the west and south coasts and hill country is from December to March, while the best weather on the east coast is from April/May to September.
Sri Lanka’s position close to the Equator means that temperatures remain fairly constant year-round. Coastal and lowland areas enjoy average daytime temperatures of around 26–30°C (often climbing up well into the 30°Cs during the hottest part of the day). Temperatures decrease with altitude, reducing to a temperate 18–22°C in Kandy, and a pleasantly mild 14–17°C in Nuwara Eliya and the highest parts of the island – nights in the hills can be quite chilly, with temperatures sometimes falling close to freezing. Humidity is high everywhere, rising to a sweltering ninety percent at times in the southwest, and averaging sixty to eighty percent across the rest of the island.
There is more on Sri Lanka’s climate, with a rainfall and temperature chart, in our Basics section.