The honest answer: there is no bad month to visit Sri Lanka, because it is really two countries weather-wise. Here is how to pick your side.
The two monsoons
- Yala monsoon (May–September): hits the south-west coast, hill country and Colombo. The east and north stay dry.
- Maha monsoon (October–January): hits the east coast and north. The south-west stays largely dry.
December to March — the "peak"
South and west coasts, hill country, cultural triangle: all dry, all sunny. Mirissa is in whale season. Rooms are 30–50% more expensive and Sigiriya at midday is crowded. Book 3+ months ahead.
April — quietly the best month
Just before the Yala monsoon breaks. Everywhere is dry, prices haven't peaked, and the Sinhalese/Tamil New Year (mid-April) is the loveliest cultural moment of the year to be here.
May to September — swap coasts
Skip the south-west. Head east: Trincomalee, Arugam Bay (surf season peaks July–August), Passikudah. The cultural triangle is fine — hot, but dry. Yala safari is at its best in July when animals cluster around remaining waterholes.
October–November — the shoulder
Inter-monsoonal. Short afternoon thunderstorms most days but mornings are usually clear. Prices are at their lowest, tea country is greenest.
What monsoon actually looks like
It's not a wall of rain for four months. It's a heavy downpour for 30–90 minutes, usually late afternoon, then clear again. You can travel through it — you just need flexible plans and a poncho.
