Kandy sits at roughly 500m elevation in Sri Lanka’s central hills, and the cooler air makes eating here a different experience from the coast. The food is rich with coconut milk, the portions are generous, and the setting - lake, forested hills, the constant sound of the Temple of the Tooth’s drums in the evening - makes even an average meal feel atmospheric.
The restaurant scene clusters around the lakeside and the central market area. Budget eating is excellent in Kandy; mid-range options are more limited than in Colombo.
Cheap and Local
Kandy Municipal Market food stalls (off Dalada Veediya, near the bus station) are the best value eating in the city. The stalls on the upper level of the market serve rice and curry from around LKR 250–400. Point at the curries you want - dhal, jackfruit, green beans, sometimes fish or chicken - and you’ll get a loaded plate with pol sambol and papadum. This is where Kandy workers eat lunch; there’s no tourist premium.
Helga’s Folly annexe café does an affordable Sri Lankan breakfast - hoppers, string hoppers, and kola kenda (a medicinal green porridge that’s bitter and an acquired taste, but worth trying once) - though the main hotel restaurant skews expensive for dinner.
For kottu, the strip of small restaurants on Kotugodella Veediya (the road behind the Kandy market) has several options doing decent versions from LKR 400–600. The sound of kottu being made - metal blades against hot griddle - is most active from about 7pm.
Mid-Range (LKR 1,000–3,000 per person)
The Pub (Dalada Veediya, near the lake) has been a Kandy traveller institution for a long time. The food is reliably Sri Lankan - rice and curry, kottu, fried rice - at honest prices around LKR 1,200–2,000. The location near the lake makes it an easy meeting point, and the upstairs balcony has views worth pausing for.
Devon Restaurant (Dalada Veediya) is one of Kandy’s busiest local restaurants - always crowded, always fast, and consistently good. The menu runs the full Sri Lankan lunch range: rice and curry, biriyani, kottu, short eats. Mains run LKR 600–1,200. It’s a proper local establishment, not adapted for tourists, and the pace of service is fast.
Slightly Chilled (a guesthouse restaurant in the Kandy Lake Club area) is better for a quiet sit-down meal than for specific dishes - the food is dependable, the terrace overlooks the lake, and the rice and curry changes daily. Expect LKR 1,200–2,200 per person.
Empire Café (Temple Street) does reliable coffee and Western breakfasts - eggs, toast, fruit - alongside Sri Lankan options. A good choice for a slower morning. Prices run LKR 600–1,200.
Upscale Kandy Dining
The Kandy House (Amunugama, about 3km from the city centre) is a restored Kandyan aristocrat’s manor turned boutique hotel. Dinner is a set menu of traditional Kandyan cooking - roast meat, slow-cooked curries, rice, and elaborate accompaniments - at around LKR 6,000–8,000 per person. This is the best version of Kandyan cuisine you’ll find, cooked in a building with actual architectural history. Worth it for a special evening.
Rangala House (30km east of Kandy) is not strictly in the city, but it’s worth mentioning for anyone spending several days in the Kandy area. This hill-country estate serves fixed-menu lunches and dinners using produce from its own garden and local suppliers - gotukola salads, slow-cooked kiri hodi (coconut milk curry), and the occasional foraged ingredient. Lunch costs approximately LKR 4,500 per person. Book in advance.
OZO Kandy (rooftop bar and restaurant) is the most accessible upscale option in the city centre. The food is international rather than Sri Lankan, and average, but the views across the lake and the hill forest are the best you’ll find without hiring a car to get somewhere. A beer and a snack from the rooftop at sunset runs LKR 1,000–1,500.
Kandy Food Worth Knowing
Gotukola sambol - raw pennywort leaves, scraped coconut, shallots, chilli, and lime - is the Kandyan side dish that defines the hill country table. Nowhere makes it better than in Kandy. Order it wherever you find a rice and curry plate.
Kiri bath (milk rice) is the traditional dish for auspicious occasions - cooked with coconut milk, pressed into a flat cake, and eaten with lunu miris (a sharp chilli-onion paste). You’ll find it at market stalls in the morning, particularly on the first day of each month.
Pol roti (coconut flatbread) is a more filling alternative to rice if you want something to carry for the day. Most kade sell them from early morning; eat them warm with dhal for LKR 100–150.
The best approach in Kandy is market food for breakfast and lunch, and one sit-down restaurant dinner - either lakeside for the setting or The Kandy House if you want to eat the cuisine at its best. If you are still choosing where to sleep, search hotels in Kandy and pick a base within easy reach of these places to eat.