Sri Lanka has two monsoons. They hit different coasts at different times. Here's a plain-English guide to where to go and when — no meteorology degree required.
Sri Lanka's weather is simpler than most guides make it sound. The island gets two monsoons. The Yala monsoon (May–August) hits the west and south coasts. The Maha monsoon (October–January) hits the east and north coasts. The hill country gets rain from both but the heaviest falls come October–December. That's it. That's the whole system.
What this means for your trip: December to March is prime time on the west and south coasts — Negombo, Colombo, Bentota, Hikkaduwa, Galle, Mirissa — you'll get blue skies and calm seas. This is peak tourist season for a reason. Room prices double, booking three months ahead is sensible, and the beaches are busy but not packed. May through October, the east coast (Trincomalee, Nilaveli, Arugam Bay, Passikudah) takes over as the dry zone. You'll have long sunny days, warm water, and far fewer tourists. April and November are the transition months — unpredictable, sometimes glorious, sometimes washed out. Personally, I find April underrated. The west coast is hot and the skies can haze over, but it's quiet and the water is warm.
The hill country trick: Kandy, Nuwara Eliya, and Ella get rain year-round because of altitude. Don't plan a hill country trip expecting Mediterranean summer. Expect drizzle, mist, a chance of downpours, and temperatures around 15–25°C. The rain adds to the atmosphere — the tea plantations look better in the mist. Pack a jacket. Don't let a little rain talk you out of the mountains.