Yes, if you are travelling on a British passport, you need a visa to visit Sri Lanka. Apply online in advance for an Electronic Travel Authorisation. Visa applications can be made on arrival, but it’s advisable to do it in advance to avoid delays.