Data asset

Protein Cost Per Serving Across Indian Foods

Per-serving protein cost for 26 Indian foods at real household portions — dal katori, sattu glass, paneer side, rice plate. April 2026 kirana prices.

Per-rupee math tells you which food is cheapest per gram of protein. Per-serving math tells you what a meaningful portion actually costs at the table. A 50g katori of moong dal gives 11.9g of protein for ₹7.00. An 80g side of paneer gives 15.1g for ₹32. A glass of sattu sits at 8.4g for ₹8.00. That is the shape of the dataset below — 26 Indian foods priced at the serving size you would actually eat, using April 2026 kirana prices and IFCT 2017 composition data.

About this dataset

This is the per-serving companion to the Protein Per Rupee Comparison Table Across Common Foods. Same foods, same prices, same protein values — different lens. Per-rupee answers “which food is cheapest per gram of protein.” Per-serving answers “what does a katori, a glass, or a plate of this food cost me, and how much protein do I get at that portion.” Most readers end up using both.

The buckets below sort foods by per-serving cost: under ₹10 (bulk-anchor tier), ₹10-₹20 (mid-tier), ₹20+ (accent tier). That sort surfaces a practical pattern — dals, carrier grains, and soy chunks all land under ₹10 per serving, which is why a dal-rice-sabzi plate quietly wins on unit economics no matter how fancy the alternatives look.

Methodology

Pricing basis: April 2026, Bengaluru mid-tier kirana, loose-bin prices where available, branded-pack prices only for items not commonly sold loose (whey, oats). Regional variance is ±15 to 20%; adjust for your own shelves.

Protein data: IFCT 2017 (Indian Food Composition Tables, NIN) for pulses, cereals, millets, paneer, eggs. USDA FoodData Central for tofu (#172475), curd (#171287), oats (#173904). ICMR-NIN RDA 2020 provides the daily orientation target (0.83g/kg standard, 1.0g/kg for cereal-dominant diets).

Derivation formula:

Cost per serving = (₹/kg of food) × (serving size in kg)
Protein per serving = (g protein per 100g) × (serving size in 100g units)

Sanity rule: a whole-food single-source 70g/day should cost under ₹50 at kirana prices. The dataset below passes that check.

Exclusions: no chicken, mutton, or fish (the brand is vegetarian-first, with egg included only as a lacto-ovo inline row). No branded products. No ready-to-eat meals with rupee values — that category is discussed in prose and linked to the relevant bridge articles.

Cost per serving — bucketed tables

Under ₹10 per serving (bulk-anchor tier)

These are the foods that do the heavy lifting on a protein-forward Indian plate. Every row below delivers meaningful protein at a cost that lets you eat the food two or three times a week without rethinking your budget.

FoodStandard servingProtein /servingCost /serving₹/g of protein
Wheat atta (whole)60g (2 rotis)6.3g₹2.70₹0.43
Bajra (pearl millet)60g (1 bhakri)6.6g₹3.30₹0.50
Jowar (sorghum)60g (1 bhakri)6.0g₹3.30₹0.55
Rice, parboiled80g raw (1 plate)6.2g₹4.00₹0.64
Ragi (finger millet)60g (1 ragi roti)4.3g₹4.20₹0.98
Peanut (ground nut)30g (small handful)7.1g₹4.20₹0.59
Chana dal50g (1 katori cooked)10.8g₹4.50₹0.42
Horse gram (kulthi)50g10.9g₹5.00₹0.46
Kala chana (whole)50g9.4g₹5.50₹0.59
Masoor dal (red lentil)50g (1 katori cooked)12.2g₹6.50₹0.53
Moong whole50g11.3g₹6.50₹0.58
Soy chunks (defatted, dry)30g (1 curry portion)15.6g₹6.60₹0.42
Oats40g (1 bowl cooked)4.3g₹6.80₹1.59
Moong dal (split, dehusked)50g (1 katori cooked)11.9g₹7.00₹0.59
Toor/arhar dal50g (1 katori cooked)10.9g₹8.00₹0.74
Sattu (roasted bengal gram flour)40g (1 glass drink)8.4g₹8.00₹0.95
Urad dal (split)50g (1 katori cooked)11.5g₹8.50₹0.74

Two patterns to notice. First, every dal katori in this tier costs less than ₹10 and gives 9 to 12g of protein. Two katoris a day is ~22g of protein for roughly ₹10 to ₹17 total. That is the backbone of budget Indian eating. Second, soy chunks punch above their weight — a 30g dry portion rehydrates to a full curry base and delivers 15.6g for ₹6.60, the highest per-serving protein anywhere under ₹10.

₹10-₹20 per serving (mid-tier)

This tier is where dairy and legumes that need larger portions to cook out properly land. Still affordable for daily use; worth the step up when you want variety or a specific texture.

FoodStandard servingProtein /servingCost /serving₹/g of protein
Curd (full-fat dahi)150g (1 katori)4.7g₹10.50₹2.26
Rajma (red kidney bean)60g (1 katori cooked)11.9g₹10.80₹0.90
Egg (whole)2 eggs (~100g)13.3g₹14.00₹1.05
Almond20g (~15 pieces)3.7g₹16.00₹4.35
Milk (full cream)250ml (1 glass)8.3g₹16.50₹2.00

A 2-egg serving at ₹14 for 13.3g is order-of-magnitude equivalent to a moong katori — same protein load, about twice the price, zero cook time. For lacto-ovo readers, that trade-off often wins on a weekday morning. Pure-vegetarian readers can skip this row without losing meaningful protein coverage on the plate.

₹20+ per serving (accent tier)

This is the tier where you pay for density per bite and for meal-format flexibility. These foods do not replace dals and soy chunks; they round out the meals those staples anchor.

FoodStandard servingProtein /servingCost /serving₹/g of protein
Paneer (full-fat)80g (1 side-dish portion)15.1g₹32.00₹2.12
Whey concentrate (2-kg tub tier)30g (1 scoop)23.1g₹34.80₹1.50
Tofu (firm)100g (1 side-dish portion)17.0g₹35.00₹2.06
Whey concentrate (1-kg tub, ~77% protein)30g (1 scoop)23.1g₹75.00₹3.25

Tofu at ₹35 for 17g per 100g serving ties paneer on ₹/g-of-protein and beats it on per-serving protein, with about one-third the saturated fat — useful when the meal format can take tofu’s firmer bite. Whey shows up twice because honest pricing depends on tub size: a 2kg bulk-buyer tub lands near paneer’s per-scoop cost, while a 1kg tub is roughly twice that. For the meal-context take on whether whey is worth it against whole-food protein, see Whey vs Indian Food Protein: Where Each Fits.

The “protein budget” framework

Take the brief’s challenge — hit 70g of protein in a day on under ₹100 using only the cheapest tier — and the dataset above gives a clean answer.

ItemServingProteinCost
Moong dal2 katoris (50g dry each)23.8g₹14.00
Sattu drink1 glass (40g)8.4g₹8.00
Curd1 katori (150g)4.7g₹10.50
Peanut1 small handful (30g)7.1g₹4.20
Wheat atta2 rotis (60g)6.3g₹2.70
Soy chunks1 curry portion (30g dry)15.6g₹6.60
Rice, parboiledHalf plate (40g raw)3.1g₹2.00
Total69.0g₹48.00

That is 69g of protein for ₹48, which leaves room for ghee, spices, vegetables, and a milk-tea or two without breaking ₹100. Swap the soy chunks for an 80g paneer side and the day costs ₹73.40 for 68.5g — same protein target, paneer format, still well under ₹100. The dictionary’s serving-level math makes both versions concrete.

Meal-cost tiers

Three worked meals using the rows above.

Budget meal (~₹26.50, ~26g protein) — one katori of masoor dal (₹6.50, 12.2g) + one plate of rice (₹4.00, 6.2g) + a bhurji-size 40g paneer cube (₹16, 7.55g — half an 80g serving). Carrier plus anchor plus accent, everything from the dataset, no surprises.

Standard meal (~₹41.70, ~33.3g protein) — one katori of moong dal (₹7.00, 11.9g) + two rotis (₹2.70, 6.3g) + 80g paneer side (₹32.00, 15.1g). A complete plate that lands over 30g of protein for under ₹45. Most home cooks are already making something close to this and under-counting the protein because they count only the paneer.

Convenience option (prose only, no dataset row) — ready-to-eat protein packs typically run ₹180 to ₹250 for 15 to 18g of protein, which puts them at roughly ₹12 to ₹16 per gram of protein, an order of magnitude above everything in the accent tier. That category is evaluated honestly against homemade alternatives in Best Convenient High-Protein Indian Meal Options and in the clean-label ready meals bridge. It is intentionally not in the dataset above — this is a food-composition corpus, not an RTE pricing table.

For more worked meals at the budget end, see Cheap High-Protein Indian Meals for Busy Weekdays and High-Protein Meals Under Rs. 100.

Limits of this dataset

Three things the numbers do not capture and that a careful reader should keep in mind.

Regional variance. Bengaluru mid-tier kirana is the pricing basis. A Mumbai ration shop, a Chennai wholesale market, and a Tier-3 kirana will all diverge by ±15 to 20% in either direction. Wheat atta at ₹45/kg in Bengaluru can be ₹38/kg in Punjab or ₹55/kg in Mumbai. The relative ranking of foods stays stable; the absolute rupee figure moves.

Serving convention. “One katori” means different things in different kitchens — anywhere from 40g dry to 70g dry. The dataset uses 50g dry for dal katoris (the most common household portion per IFCT convention), 80g paneer for side-dish portions, and 250ml milk per glass. If your household pours larger, scale the numbers up proportionally.

Loose versus branded. Dals, grains, nuts, and paneer are priced at loose-bin rates. Sealed branded packs run 30 to 60% higher depending on the brand tier. Oats and whey are the two rows priced at branded-pack rates because loose-bin pricing is not standard for them. Tofu varies more than most foods — firm blocks at ₹35/100g, soft blocks often at ₹25/100g. The table uses firm tofu.

For the deeper ingredient-level context on sattu and the paneer-vs-tofu decision, see Sattu Protein Content and How to Use It and Paneer vs Tofu for Protein, Price, and Convenience.

Final takeaway

At real household portions, the per-serving cost of Indian protein looks nothing like the marketing version. A katori of dal costs ₹4.50 to ₹10.80 and delivers 10 to 12g of protein. A glass of sattu clears a breakfast’s worth of protein for ₹8. An 80g paneer side is ₹32 for 15g. Two rotis and a plate of rice contribute another 12g for under ₹7. The whole-food path to 70g of protein fits comfortably under ₹100 in any Indian kitchen that is already cooking dal twice a week. Ready-to-eat meals have their place when the weekday collapses, but the dataset is clear about where the real unit-economics win lives.

Variables measured

  • Standard serving size (grams dry or raw)
  • Protein per serving (grams)
  • Cost per serving (rupees)
  • Cost per gram of protein (rupees)

Source notes

  • IFCT 2017 (Indian Food Composition Tables, NIN) for pulses, cereals, millets, paneer, eggs
  • USDA FoodData Central for tofu (#172475), curd (#171287), oats (#173904)
  • ICMR-NIN RDA 2020 for daily protein orientation targets
  • Pricing: April 2026, Bengaluru mid-tier kirana, loose-bin where available
  • Serving sizes reflect typical Indian household portions, not recommended dietary amounts

Keep exploring

Related data and supporting reading