Reserve in Person
Go to any of these stations and buy the ticket up to 30 days before the date of travel:
Aluthgama, Anuradhapura, Badulla, Bandarawela, Batticaloa, China Bay, Colombo Fort, Diyathalawa, Ella, Galle, Gal Oya, Gampaha, Haputale, Hatton, Hikkaduwa, Hingurakgoda, Jaffna, Kalutara South, Kandy, Kantale, Kilinochchi, Kurunegala, Matara, Nanu Oya, Nawalapitiya, Pallai, Peradeniya, Polgahawela, Polonnaruwa, Thabalagamuwa, Trincomalee, Valaichchenai, Vavuniya, Welikanda, Wellawatte
If reserved seating is sold out it is always possible to buy an unreserved ticket on the date of travel.
Reserve by Telephone
Use the Mobitel or Hutch number 365 or Dialog number 444 to book in advance up to 30 days before the date of travel. You must have a Mobitel, Hutch or Dialog sim to use this service. There are more details on their websites:
The text or email confirmation must be converted to a rail ticket at one of the stations listed above or in any Mobitel or Dialog branch. You must produce the same ID when collecting the ticket that you used to make the reservation.
There are tour operators that will buy a ticket for you if you want to reserve before arriving in Sri Lanka. The cost is normally 2-3 times higher to reserve using this method.
They will reserve by telephone using the same method as above and forward you the text confirmation. See above for info on where to collect tickets. There are 24 hour Mobitel and Dialog counters at the airport.
Since early 2017 Exporail and Rajadhani operations have been suspended.