Old colonial hotel
Suisse Hotel is an old colonial hotel and one of the most luxurious in the city. It's in the same group as Galle Face Hotel in the south (another historic institution). The hotel is on the shore of Lake Kandy, about a 10 minute walk from the Temple of the Tooth (templo del diente). In high season rooms are $70/night, plus $5/person if you want breakfast. Lunch is $6 and dinner $8. I recommend it because it is still very cheap for the level of service you get. The hotel is in a large tropical garden and has a nice pool. It looks like you're in fields but all the city attractions are close by, such as the National Museum and craft stores.