Two monsoons, one island
Most guides say December to March and stop there. That is only half the story. The southwest monsoon (Yala) runs roughly May to September and soaks the west and south coasts and the hill country. The northeast monsoon (Maha) runs October to January and hits the east and north. Between them sit two inter-monsoon periods that bring short, sharp afternoon thunderstorms almost anywhere.
The practical consequence is that Sri Lanka has no closed season. It has a season for the south and a season for the east, and the skill is in matching your dates to the right coast rather than cancelling.
December to March
The peak. Colombo, Bentota, Galle, Mirissa and Yala are at their best: dry, calm sea, blue whales off Mirissa from December. The Cultural Triangle is hot but dry. The hill country is cool and clear in the mornings. Book six to nine months ahead for Christmas and New Year, when the south coast is genuinely full.
April and May
April is the hottest month and also the most interesting culturally. Sinhala and Tamil New Year in mid-April empties the cities and fills the villages. The south is still dry into early April. By late May the southwest monsoon is established and the east opens up.
June to September
The quiet secret. The east coast, Trincomalee, Nilaveli, Pasikuda, Arugam Bay, is dry, flat and warm while the south is wet. This is also the season of the Minneriya Gathering, when hundreds of elephants converge on the reservoir, and of the Kandy Esala Perahera in July or August. Hotel rates in the south drop by up to half.
October and November
The inter-monsoon. Rain can arrive anywhere, usually as a two-hour afternoon downpour rather than all-day drizzle. Prices are lowest, sites are empty, and the countryside is spectacularly green. If you are flexible and do not mind a wet afternoon, this is good value.
What we actually recommend
If you can only travel in July, go east. If you can only travel in January, go south. If you can travel any time and want the whole island, February and March are as close to perfect as Sri Lanka gets: dry in the south, clear in the hills, and Yala at its best with water levels dropping.