CalEye.
Blog · diabetes July 31, 2026 10 min read

Carb counting for South Asian meals — chapati, rice, dal

Hand reaching for a chapati on a plate surrounded by dal, rice, and sabzi on an Indian thali

Carb counting for South Asian meals is one of the most requested — and least solved — challenges in diabetes nutrition. A medium chapati (30g raw weight) contains approximately 22 grams of carbohydrate. One cup of cooked white basmati rice contains about 45 grams. A bowl of dal (250ml cooked toor dal) contains 30–35 grams depending on the legume and cooking method. These are the numbers people with diabetes in South Asia, the UK, the US, and Canada need — and they are often absent from standard nutrition databases built on Western reference portions. South Asia carries the world’s highest absolute burden of Type 2 diabetes: India alone has an estimated 101 million adults with Type 2, per ICMR-INDIAB 2023.1 Traditional South Asian diets are high in refined carbohydrates (white rice, maida-based breads) and glycemically dense, which directly elevates post-meal glucose. But the solution is not abandoning the diet — it is quantifying it accurately. A diabetes-friendly South Asian diet can be built around the same staples with portion management and strategic substitution (roti from multigrain flour, smaller rice portions paired with higher-protein dal). This guide provides verified reference carb counts for 25 common South Asian foods and a practical framework for building balanced plates.

Chapati, roti, and paratha — the carb counts you need

Flatbreads are the caloric backbone of most North Indian, Pakistani, and Bangladeshi meals, and their carbohydrate content is highly variable depending on wheat type, raw weight, and cooking method. A standard medium chapati made from 30g whole wheat atta contains 20–22g carbohydrate after cooking — the atta loses roughly 10–15% water weight during dry roasting on the tawa, so the cooked weight lands around 40–45g for that starting 30g of flour. Wholewheat chapati has a glycaemic index of approximately 62, meaningfully lower than white pita or naan, due to the intact bran slowing starch digestion.2

Paratha changes the picture substantially. A plain paratha made with 30g atta and 5g ghee delivers 22–25g carbohydrate and an additional 45 kcal from the fat. An aloo paratha stuffed with 60g spiced potato filling adds another 10–12g carbohydrate, bringing the total to 33–37g per paratha. Two aloo parathas at breakfast — a common serving — represent 65–75g carbohydrate before any accompaniment.

Here are gram-level carbohydrate figures for eight common South Asian flatbreads per standard serving:

  • Chapati, wholewheat, medium (30g raw / ~45g cooked): 20–22g carbohydrate
  • Roti, multigrain (30g raw): 18–20g carbohydrate (lower due to added legume or millet flour)
  • Paratha, plain with ghee (30g raw atta + 5g ghee): 22–25g carbohydrate
  • Aloo paratha (30g atta + 60g potato filling): 33–37g carbohydrate
  • Naan, plain (restaurant-sized, ~120g): 50–55g carbohydrate
  • Puri, deep fried (20g raw atta each): 15–18g carbohydrate per puri
  • Bhatura (40g raw maida, deep fried): 30–34g carbohydrate
  • Missi roti (25g besan + 10g atta blend): 18–21g carbohydrate

The cooking-weight conversion matters for photo-based logging. Apps that default to raw weight may overestimate carbohydrates if users weigh cooked chapati, because moisture evaporation concentrates the carbohydrate per gram of the final product. A cooked chapati weighs approximately 40–45g but started from 30g raw atta — logging 45g cooked as if it were raw overestimates carbohydrate by roughly 30%.3

Rice varieties — white basmati, brown rice, and biryani

Rice is the central carbohydrate source across South Indian, Bengali, Sri Lankan, and many Pakistani diets. One cup of cooked white basmati rice (approximately 180g cooked weight) contains 45g carbohydrate with a glycaemic index of 57–69, varying by cooking method, rinsing, and the degree of gelatinisation. Basmati specifically has a lower GI than standard long-grain white rice (GI ~72) because its higher amylose content (starch type that resists rapid enzymatic digestion) slows glucose release.4

Brown basmati reduces the GI further to approximately 48–55 while adding 3–4g fibre per cooked cup. For a patient on insulin therapy aiming to flatten post-meal spikes, the switch from white to brown basmati is the single highest-return substitution in the South Asian diet — the carbohydrate count changes minimally (43g vs 45g per cup), but the glycaemic impact falls by approximately 15–20% due to fibre and slower starch digestion.

A frequently overlooked variable is the resistant starch effect of cooling. Cooked white rice cooled to room temperature and then reheated contains 10–15% more resistant starch than freshly cooked rice — a starch fraction that bypasses enzymatic digestion in the small intestine and is fermented in the colon instead.4 For households that cook rice the night before and reheat for breakfast or lunch, post-meal glucose curves may be flatter than expected from the raw carbohydrate count alone.

Reference carbohydrate counts per standard cooked cup (180g):

  • White basmati, cooked: 45g carbohydrate, GI 57–69
  • Brown basmati, cooked: 43g carbohydrate, GI 48–55
  • Biryani (chicken), per 200g serve: 35–40g carbohydrate (rice partially absorbs fat from cooking, reducing starch density per gram)
  • Jeera rice (with cumin and ghee), 180g: 44–46g carbohydrate
  • Khichdi (moong dal + rice, 1:1 ratio, 200g cooked): 32–36g carbohydrate, GI approximately 50–55 due to dal protein and fibre buffering

Dal and lentil dishes — underrated glycaemic favourites

Dal is one of the most diabetes-compatible staples in the South Asian diet, and it is systematically underused as a strategic carbohydrate buffer. The glycaemic load principle explains exactly why high-protein legumes blunt postprandial glucose excursions relative to their raw carbohydrate count. Toor dal, moong dal, and masoor dal all have glycaemic indices of 25–38 — among the lowest of any carbohydrate-containing food — because their high protein content (8–12g per 250ml cooked serving) and resistant starch slow gastric emptying and reduce the rate of glucose absorption.5

The practical implication: a meal that pairs smaller rice or roti portions with a generous serving of dal produces a substantially lower postprandial glucose excursion than the same total carbohydrate delivered as rice alone. This is the glycaemic load principle in practice — it is not just the grams of carbohydrate, but the metabolic context in which those grams arrive.

Carbohydrate counts for six common dal varieties per 250ml cooked serving:

  • Toor dal (split pigeon pea), cooked, 250ml: 30–33g carbohydrate, 10g protein, GI ~29
  • Moong dal (split yellow, cooked), 250ml: 26–30g carbohydrate, 10g protein, GI ~31
  • Masoor dal (red lentil, cooked), 250ml: 28–32g carbohydrate, 9g protein, GI ~25
  • Chana dal (split chickpea, cooked), 250ml: 30–35g carbohydrate, 12g protein, GI ~36
  • Urad dal (black gram, cooked), 250ml: 28–32g carbohydrate, 8g protein, GI ~43
  • Rajma (kidney bean curry, cooked), 250ml: 33–38g carbohydrate, 12g protein, GI ~24

Adding a tarka (ghee, cumin, garlic tempering) adds 2–5g fat with negligible carbohydrate change. Combining dal with rice — the classic dal-chawal — does not change the individual carbohydrate counts, but the combined dish’s glycaemic load is lower than rice eaten alone because the dal’s protein and fibre blunt the post-meal glucose curve.5

Vegetables, curries, and sabzi — where hidden carbs accumulate

Non-starchy vegetables (spinach, cauliflower, bitter gourd, okra, green beans, brinjal) are genuinely low-carbohydrate — typically 3–6g per 100g cooked. They can be consumed in generous portions without meaningfully affecting carbohydrate targets. Starchy vegetables and root vegetables are where the hidden carbohydrate accumulates, often invisibly.

Potato is the most significant source of hidden carbohydrate in South Asian sabzi. A single medium potato (150g) contains approximately 25–28g carbohydrate. In an aloo gobi or aloo matar serving of 200g, potato may contribute 20–22g carbohydrate, which is easy to miss because the dish reads as “vegetable curry” rather than “potato dish.” A single serving of aloo paratha contains more carbohydrate than most patients estimate.3

Carbohydrate reference for 15 common vegetable preparations per 150g serving:

  • Aloo gobi (potato + cauliflower curry): 20–25g carbohydrate (potato-dependent)
  • Aloo matar (potato + pea curry): 22–27g carbohydrate
  • Palak paneer (spinach + cottage cheese): 8–12g carbohydrate
  • Baingan bharta (roasted aubergine): 10–14g carbohydrate
  • Bhindi masala (okra): 10–13g carbohydrate
  • Karela sabzi (bitter gourd): 8–11g carbohydrate
  • Gobi sabzi (cauliflower only): 8–10g carbohydrate
  • Yam (suran) curry, 100g: 22–26g carbohydrate
  • Colocasia (arbi) curry, 100g: 20–24g carbohydrate
  • Raw banana (kachcha kela) curry, 100g: 18–22g carbohydrate
  • Mixed vegetable curry (no potato), 150g: 10–14g carbohydrate
  • Saag (mustard greens), 150g: 8–10g carbohydrate
  • Matar paneer (peas + cheese), 150g: 16–20g carbohydrate (peas contribute)
  • Dal makhani (creamy lentil), 150g: 20–24g carbohydrate
  • Sambhar (South Indian lentil vegetable stew), 200ml: 18–22g carbohydrate

The practical rule: if the sabzi contains potato, yam, raw banana, or colocasia, count it as a starch contribution alongside the rice or roti — not as a “free” vegetable side.

Sweet and snack foods — mithai, chakli, and chai

Traditional Indian sweets are among the most glycaemically dense foods in the cuisine. A single besan ladoo (30g) contains 25–30g carbohydrate from the combination of roasted chickpea flour, ghee, and sugar. Two ladoos at a family gathering deliver 50–60g carbohydrate in a format that is easy to eat in under two minutes. This is not a reason to avoid mithai entirely — it is a reason to count it explicitly and adjust the rest of the meal accordingly.

Masala chai is a consistent source of underreported carbohydrate. A standard cup of chai made with 150ml full-fat milk, 100ml water, and two teaspoons of sugar contains 15–20g carbohydrate. Three cups per day — not unusual in a North Indian household — adds 45–60g of carbohydrate that is rarely logged because it arrives as a liquid.

Carbohydrate counts for 10 common Indian sweets and snacks:

  • Besan ladoo (30g each): 25–30g carbohydrate
  • Coconut barfi (30g each): 20–24g carbohydrate
  • Gajar halwa (carrot dessert), 100g: 22–26g carbohydrate
  • Gulab jamun (two pieces, ~60g total): 30–35g carbohydrate
  • Jalebi (30g, two pieces): 22–25g carbohydrate
  • Rasgulla (two pieces, ~60g total): 20–24g carbohydrate
  • Chakli (rice flour snack, 4 pieces, ~30g): 18–21g carbohydrate
  • Masala chai with full-fat milk + 2 tsp sugar (250ml): 15–20g carbohydrate
  • Samosa (one medium, ~60g): 20–25g carbohydrate
  • Pakora (onion bhajia, 3 pieces, ~60g): 18–22g carbohydrate

For special occasions, the approach is not abstinence but informed substitution. One small ladoo (15g) and a fruit salad without added sugar satisfies the sweet expectation with roughly half the carbohydrate. Swapping gulab jamun for a small portion of fresh mango delivers natural sugars with fibre, which moderates the glucose spike.6

Building a diabetes-friendly South Asian plate — the practical framework

The plate method recommended by the ADA and adapted for South Asian meals divides the plate into three sections: half non-starchy vegetables, one quarter starch (rice or roti), and one quarter protein (dal, egg, paneer, fish, or chicken).6 Applied to a thali format, this means prioritising the sabzi and dal first, then adding a controlled portion of rice or one to two chapatis, rather than serving rice or roti as the plate’s anchor.

Three complete meal templates with gram-level carbohydrate totals:

North Indian thali (moderate carbohydrate): Two medium chapatis (40–44g carb) + 200ml toor dal (24–26g carb) + 150g palak paneer (8–12g carb) + 100ml raita (6g carb) + small kachumber salad (5g carb) = 83–93g total carbohydrate. Replacing one chapati with additional dal and sabzi brings the total to 65–72g.

South Indian idli-sambar breakfast: Three idlis (each 30g, made from fermented rice-dal batter) contain approximately 20–22g carbohydrate each, totalling 60–66g. A 150ml bowl of sambar adds 14–16g carbohydrate. Coconut chutney (30g) adds 4–5g. Breakfast total: 78–87g carbohydrate. Reducing to two idlis and adding a boiled egg brings it to 55–60g with meaningfully more protein.

Bengali fish-rice dinner: 150g cooked white rice (37–40g carb) + 150g macher jhol (fish curry with potato, 15–18g carb) + 100g begun bhaja (fried aubergine, 7–8g carb) = 59–66g total carbohydrate. Substituting brown rice reduces carbohydrate by 2g and lowers the glycaemic load by approximately 15% due to the lower GI.

References

  1. Saeedi P, Petersohn I, Salpea P, et al. “Global and regional diabetes prevalence estimates for 2019 and projections for 2030 and 2045.” Diabetes Research and Clinical Practice 157 (2019): 107843. Updated with ICMR-INDIAB 2023 data: Anjana RM et al. Lancet Diabetes & Endocrinology 11 (2023): 474–489.

  2. Atkinson FS, Foster-Powell K, Brand-Miller JC. “International Tables of Glycemic Index and Glycemic Load Values: 2021.” American Journal of Clinical Nutrition 114, no. 5 (2021): 1625–1632.

  3. U.S. Department of Agriculture, Agricultural Research Service. FoodData Central / USDA SR-Legacy. Key reference items: FoodID 20445 (white rice, cooked); whole wheat chapati; aloo paratha composite estimate. https://fdc.nal.usda.gov/ Accessed 2024.

  4. Bodinham CL, Frost GS, Robertson MD. “Acute ingestion of resistant starch reduces food intake in healthy adults.” British Journal of Nutrition 103, no. 6 (2010): 917–922. (Resistance starch in cooled and reheated rice.)

  5. Jenkins DJ, Wolever TM, Taylor RH, et al. “Glycemic index of foods: a physiological basis for carbohydrate exchange.” American Journal of Clinical Nutrition 34, no. 3 (1981): 362–366. (Foundational lentil GI data, corroborated by subsequent meta-analyses.)

  6. American Diabetes Association Professional Practice Committee. “Facilitating Positive Health Behaviors and Well-being to Improve Health Outcomes: Standards of Care in Diabetes—2024.” Diabetes Care 47, Supplement 1 (2024): S77–S110.

Frequently asked questions

How many carbohydrates are in a medium wholewheat chapati?
A medium chapati made from 30 g of whole wheat atta contains 20-22 g of carbohydrate after cooking. The glycaemic index is approximately 62, which is meaningfully lower than white pita or plain naan. Aloo paratha adds another 10-12 g from the potato filling, so two at breakfast delivers 65-75 g carbohydrate before any accompaniment.
Is white basmati rice high-glycaemic compared to other rice varieties?
Basmati has a lower glycaemic index (57-69) than standard long-grain white rice (GI ~72) due to its higher amylose content, which resists rapid enzymatic digestion. Brown basmati drops the GI further to 48-55 while barely changing the gram count (43 g vs 45 g per cooked cup), making it the highest-return substitution in the South Asian diet for glucose management.
Why is dal considered diabetes-friendly despite being a carbohydrate source?
All common dal varieties have glycaemic indices between 25-43 — among the lowest of any carbohydrate-containing food. Their protein content (8-12 g per 250 ml cooked) and resistant starch slow gastric emptying and glucose absorption. A meal pairing smaller rice or roti portions with generous dal produces a substantially lower post-meal glucose excursion than rice eaten alone.
What are the hidden sources of carbohydrate that people most commonly miss in Indian meals?
Potato in sabzi is the biggest hidden source — a single medium potato adds 25-28 g of carbohydrate that is easy to undercount in a dish labelled simply as 'vegetable curry'. Masala chai with full-fat milk and two teaspoons of sugar contributes 15-20 g per cup, and three cups per day adds 45-60 g that is rarely logged because it arrives as a liquid.
How does the ADA plate method adapt to a South Asian thali format?
Half the thali should be non-starchy vegetables (sabzi without potato, salad, kachumber), one quarter starch (rice or one to two chapatis), and one quarter protein (dal, paneer, egg, fish, or chicken). Prioritising the sabzi and dal first, then adding a controlled starch portion, prevents rice or roti from anchoring the plate and crowding out the protein and vegetable components.