There is always a good time somewhere on the island
Sri Lanka’s two monsoon seasons affect opposite coasts at different times — which means that for beach travel, there is no single “avoid this country” period. Understanding the seasonal pattern lets you plan accordingly.
Southwest coast (Colombo, Galle, Mirissa, Unawatuna)
Best: December to March. Good: April to May. Avoid: June to October (southwest monsoon). The peak beach season coincides with European winter — December and January are the busiest and most expensive months. February and March offer good weather with slightly fewer crowds.
East coast (Trincomalee, Arugam Bay)
Best: May to September. Good: October. Avoid: November to April (northeast monsoon). This is the inverse of the southwest — when the south is rainy, the east is dry. Arugam Bay’s surf season peaks July to September. Trincomalee beaches are excellent May to August.
Cultural sites and highlands (year-round)
Sigiriya, Dambulla, Polonnaruwa, Kandy, and the tea country can be visited year-round. The highlands occasionally get rain even in dry months. Yala National Park is best February to July (dry season, animals concentrate around water sources).
My recommendation
January-February for a classic circuit (Cultural Triangle + southwest beaches + Ella). July-August for the east coast plus Cultural Triangle. November for the tail end of east coast season and the start of southwest season — good compromise if you want both coasts.