Journal
nutrition

Sri Lankan Food Guide: Calories, Protein and Swaps That Work

Apex Performance Labs8 November 20268 min read
A rice and curry plate with fried fish, chickpea curry, okra and a vegetable curry

Most diet advice that reaches Colombo was written for someone else's kitchen. It tells you to cut rice, skip coconut and live on salads. Then real life happens: a rice packet at lunch, string hoppers on a Sunday, short eats at a meeting.

We wanted to know what our members actually eat. So we looked at every meal they logged with Lena, the AI in the Apex app, between June and November 2026. That is more than 7,500 meals, about half of them logged from a photo of the plate. No one is named or identifiable here: every figure combines many members' meals.

The short version: Sri Lankan food works for fat loss and for building strength. The gap is protein, and you can close it without giving up the food you like.

What our members actually eat

Rice and curry is the most logged meal by a distance. Eight in ten fully logged days include at least one Sri Lankan dish, and almost half include dhal, chickpeas, green gram, cowpea or soya. Chicken and eggs are the most common protein, followed by dhal, chickpeas and soya, then fish.

This is what a typical logged plate carried. These are whole meals as members ate them, curries and sambol included, not 100 g portions.

MealCaloriesProteinCarbs
Rice and curry with chicken56038 g62 g
Rice and curry with fish53032 g62 g
Rice and curry with egg55024 g65 g
Rice and curry, dhal or soya only57023 g68 g
Biryani68038 g65 g
Kottu58026 g48 g
Roti or pol roti meal53528 g54 g
Pittu meal47522 g46 g
String hoppers meal46524 g48 g
Hoppers meal44021 g52 g
Kiribath42016 g56 g
Short eats: rolls, patties, cutlets, vadai, buns42015 g45 g

Two things stand out. A rice plate comes to about 550 calories whatever sits next to the rice, but its protein swings from 23 g to 38 g depending on what that is. And kiribath and short eats carry the least protein on the list.

The gap is protein, not rice

On days when members logged everything, the typical day came to about 1,550 calories and 90 g of protein. Carbohydrate made up about 43% of those calories, fat about a third and protein just under a quarter.

Every member's protein target is set individually, and the typical target is around 145 g a day. So the typical fully logged day reached about two-thirds of it, roughly 45 g short. That is about one large chicken breast.

Breakfast is where most of the gap opens.

MealTypical protein
Breakfast19 g
Lunch28 g
Dinner29 g

A traditional breakfast of string hoppers, pittu, roti, hoppers or kiribath came to about 15 g of protein when nothing like eggs, dhal, chickpeas, green gram or a protein shake was added. With eggs, dhal, chickpeas, green gram or cowpea added, the same breakfasts came to about 22 g. Kiribath breakfasts were around 11 g.

Fibre was low too, at about 13 g on a typical logged day. Most guidance puts adults at 25 g or more.

Logs always miss something, like a biscuit with tea or the oil in the pan, so real calorie intake is a little higher than the logs show. The pattern holds anyway: protein runs short, and it runs shortest in the morning.

Swaps that work

None of these ask you to give anything up.

Keep the rice, change what sits next to it

Rice with dhal only and rice with chicken came in at almost the same calories, about 570 and 560. The chicken plate carried 38 g of protein against 23 g. If your plate is dhal and vegetables, add a piece of fish or chicken, two eggs or a soya curry.

Fix breakfast first

Add two eggs, or a cup of boiled chickpeas, green gram or cowpea, to your string hoppers, roti or pittu. Per 100 g, boiled green gram has about 10 g of protein and chickpeas about 9 g, each with 7 to 8 g of fibre. Traditional breakfasts with eggs, dhal, chickpeas, green gram or cowpea logged about 7 g more protein than those without. Breakfasts with a whey shake logged 38 g.

Choose red where it counts

Red string hoppers carry about 2.5 g of fibre per 100 g, against 0.3 g for white. For rice the difference is small: red kekulu has about 1.1 g per 100 g, and white varieties range from about 0.4 g to 1.2 g. With rice, the portion matters more than the colour. Members' red-rice plates logged about 10 g less carbohydrate than white or basmati plates. Per 100 g the carbohydrate is almost identical, so that difference came from the plate, not the rice.

Keep the coconut, measure it

Fat was about a third of calories on a typical day, and much of it comes from coconut. Pittu has about 344 calories per 100 g against about 200 for string hoppers, because of the coconut in it. Coconut sambol has about 179 calories per 100 g and gotukola sambol about 59. A spoon of pol sambol is fine. For volume, add gotukola sambol or a mallum.

Swap the short eats

Short eats came in at about 420 calories and 15 g of protein. A bowl of boiled chickpeas or cowpea with lunu miris gives the same protein for fewer calories. A whey shake, as members logged it, was about 240 calories and 35 g of protein.

Plan the kottu

Kottu came in at about 580 calories and 25 g of fat. It does not need to go. Make it the planned meal of the day, ask for extra chicken and vegetables, and ask for less oil.

How we deliver it at Apex

The guide above is general. What gets results is doing it every day, with your own numbers.

  1. Targets from your numbers. Your calorie and protein targets are set from your measurements, your goal and your training, and checked by our team before they go live.
  2. A plan in Sri Lankan food, with swaps built in. Every meal in your weekly plan is built from a protein, a carbohydrate, a fat and vegetables, and each lists several options weighed to the same target. For about 60 g of protein, that might be 195 g of chicken breast, 265 g of white fish or 215 g of tuna. Carbohydrate options include red rice, string hoppers, hoppers and roti. Vegetables include gotukola, okra, brinjal and pumpkin. Our team reviews every plan before it reaches you.
  3. Logging that fits a rice-and-curry life. Take a photo or send Lena a message. She logs the meal with its numbers and tells you what you have left for the day. Ask what to have for lunch, and the answer is built from what is left.
  4. Someone reading it. Lena sends one review each evening and one nudge each morning. Your coach reads your weekly check-in and adjusts the week ahead.

It adds up. Among members with at least eight weeks between their first and last body-composition scan, 57% lost body fat and 71% held or built muscle. See the results.

How we worked this out

  • We used every meal Apex members logged with Lena between 6 June and 8 November 2026. Staff and test accounts are excluded.
  • Figures are medians, rounded. No individual's data is shown, and every figure combines many members' meals.
  • A fully logged day is one with at least three meals and at least 1,000 calories.
  • Lena estimates calories and macros from photos and descriptions, so a single entry can be off. Across thousands of meals, the medians are stable.
  • Per-100 g reference values are from the Sri Lankan Food Composition Database (IRD).

This is general guidance, not medical advice. If you have diabetes, kidney disease or another condition, check changes with your doctor first.

Want this done for you? Book a free chat with the team.