Data asset

Protein Per Rupee: Comparison Table Across Indian Foods

26 Indian foods ranked by ₹ per gram of protein. April 2026 kirana prices, IFCT 2017 nutrition, derivation formula, and honest category-level takeaways.

Twenty-six Indian foods. One number per food: the rupee cost of a gram of actual protein, at April 2026 Bengaluru kirana prices. The question this page answers is the one most people actually ask at the dal counter — which food gives me the most protein per rupee, and by how much? Protein values are from IFCT 2017 (with USDA FoodData Central filling the gaps on tofu, curd, oats, and whey), and prices are loose-bin kirana prices, not packaged-brand. If you want the same foods sorted by what a realistic serving costs instead, that is the per-serving data asset running alongside this one.

About this dataset

This is the full-corpus table for the Protein Per Rupee in India pillar. Where the pillar picks a handful of foods to argue a point, this page carries all of them — pulses, soy, millets, carrier grains, sattu, dairy, tofu, nuts, one lacto-ovo egg row, and whey at two tub tiers — with the math transparent enough that you can re-run it against whatever your shop is charging this month.

Scope:

  • Foods are vegetarian-first. Whole egg appears once as a lacto-ovo reference row; no chicken, mutton, or fish.
  • No brand-specific rows, no ready-to-eat meals, no protein bars. Convenience is discussed in prose and linked to the bridge article on convenient protein options; it does not get a row here.
  • Supplements are out of scope except for whey, which appears as a benchmark at two tub sizes to keep the comparison honest.

Methodology

Data sources

  • Nutrition: IFCT 2017 (Indian Food Composition Tables, NIN) for all pulses, cereals, millets, dairy, nuts, and eggs. USDA FoodData Central for tofu (#172475), curd (#171287), and oats (#173904), where IFCT coverage is thin. Whey protein concentrate is brand-dependent at the quoted 77g per 100g.
  • Pricing: April 2026 Bengaluru mid-tier kirana shops, loose-bin prices. Where loose is not available (tofu, oats, whey), published pack prices at commonly stocked sizes.
  • Daily-target context: ICMR-NIN RDA 2020. 0.83g/kg for a healthy adult; 1.0g/kg adjustment for cereal-dominant diets. No dosage or deficiency claims in this article.

Derivation formula (stated verbatim)

₹ per gram of protein = (₹ per kg of food) ÷ (g protein per 100g × 10)

Example: chana dal at ₹90 per kilogram and 21.55g protein per 100g. Protein per kilogram = 21.55 × 10 = 215.5g. Cost per gram of protein = 90 ÷ 215.5 = ₹0.42.

Sanity rule

A single-source whole-food 70g-per-day plan should cost under ₹50. If your math lands above ₹100, you have divided by the per-100g number instead of multiplying by 10 first. This is a common unit error.

Exclusions

Chicken, mutton, fish, and other non-egg non-veg; all branded products and ready meals; all supplements other than whey.

The comparison table

One row per food. ₹/g of protein is the primary sort key, cheapest first within each category. A secondary g-protein-per-rupee column is included for readers who prefer that framing.

Pulses and legumes

FoodIFCT₹/kgProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Chana dalB0019021.55 g₹0.422.3850g (1 katori cooked)10.8 g₹4.50
Horse gram (kulthi)B01210021.73 g₹0.462.1750g10.9 g₹5.00
Masoor dalB01313024.35 g₹0.531.8750g (1 katori cooked)12.2 g₹6.50
Moong wholeB01113022.53 g₹0.581.7350g11.3 g₹6.50
Moong dal (split)B01014023.88 g₹0.591.7050g (1 katori cooked)11.9 g₹7.00
Kala chana (whole)B00211018.77 g₹0.591.7150g9.4 g₹5.50
Toor (arhar) dalB02116021.70 g₹0.741.3650g (1 katori cooked)10.9 g₹8.00
Urad dal (split)B00317023.06 g₹0.741.3650g (1 katori cooked)11.5 g₹8.50
Rajma (red kidney bean)B02018019.91 g₹0.901.1160g (1 katori cooked)11.9 g₹10.80

Soy

FoodSource₹/kgProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Soy chunks (defatted, dry)IFCT B025 + defatting22052 g₹0.422.3630g dry (~90g rehydrated)15.6 g₹6.60

Cereals and carrier grains

FoodIFCT/USDA₹/kgProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Wheat atta (whole)A0194510.57 g₹0.432.3560g (2 rotis)6.3 g₹2.70
Bajra (pearl millet)A0035510.96 g₹0.501.9960g (1 bhakri)6.6 g₹3.30
Jowar (sorghum)A005559.97 g₹0.551.8160g (1 bhakri)6.0 g₹3.30
Rice, parboiledA014507.81 g₹0.641.5680g (1 plate cooked)6.2 g₹4.00
Ragi (finger millet)A010707.16 g₹0.981.0260g (1 ragi roti)4.3 g₹4.20
OatsUSDA FDC #17390417010.7 g₹1.590.6340g (1 bowl cooked)4.3 g₹6.80

Sattu

FoodSource₹/kgProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Sattu (roasted bengal gram flour)Derived from IFCT B002 roasted20021 g₹0.951.0540g (1 glass drink)8.4 g₹8.00

Dairy and tofu

FoodIFCT/USDA₹/kgProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Milk (full cream)Derived66/L3.3 g₹2.000.50250ml (1 glass)8.3 g₹16.50
Tofu (firm)USDA FDC #17247535017.0 g₹2.060.49100g (1 side portion)17.0 g₹35.00
Paneer (full-fat)L00340018.86 g₹2.120.4780g (1 side portion)15.1 g₹32.00
Curd (full-fat dahi)USDA FDC #171287703.10 g₹2.260.44150g (1 katori)4.7 g₹10.50

Nuts

FoodIFCT₹/kgProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Peanut (ground nut)H01214023.65 g₹0.591.6930g (small handful)7.1 g₹4.20
AlmondH00180018.41 g₹4.350.2320g (~15 pieces)3.7 g₹16.00

Egg (lacto-ovo reference row)

FoodIFCTCost basisProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Whole eggM001₹7/egg (tray-of-30)13.28 g (~6.6g/egg)₹1.050.952 eggs (~100g)13.3 g₹14.00

Whey benchmark (two tub tiers)

Tier₹/kg of powderProtein /100g₹/g proteing protein/₹Standard servingProtein /servingCost /serving
Whey concentrate, 2-kg tub~1,160 equiv.77 g₹1.500.6630g (1 scoop)23.1 g₹34.80
Whey concentrate, 1-kg tub~2,50077 g₹3.250.3130g (1 scoop)23.1 g₹75.00

Reading the data

Six patterns fall out of the table that are worth saying out loud.

1. The whole-food floor sits at ₹0.40 to ₹0.50 per gram of protein

Chana dal (₹0.42), soy chunks (₹0.42), wheat atta (₹0.43), horse gram (₹0.46), and bajra (₹0.50) all land within a 10-paise window. That band is the floor. Sub-₹0.40 per gram of protein is not achievable at kirana scale on any food with real protein density — any claim below it is either a loss-leader promotion, a unit error, or a product with thin protein content dressed up as a “protein” item. For the dal-by-dal view of this floor, see the dal protein comparison.

2. Dairy and tofu are a 4 to 5× premium over pulses

Milk at ₹2.00, tofu at ₹2.06, paneer at ₹2.12, curd at ₹2.26 — all four land between ₹2.00 and ₹2.30 per gram of protein, roughly five times chana dal. That is not a reason to stop buying them. Paneer and tofu earn their price by being easier to build a meal around; a 50g paneer cube turns a sabzi into a protein anchor with zero extra thought. Curd and milk do the same quietly — they push everything else you eat up by 4 to 8g. The price is the convenience tax on meal-fit.

3. Ragi is the outlier you would not expect

Ragi reads as a cheap millet and ends up at ₹0.98 per gram of protein — more than twice bajra, more than any other traditional grain on this table. The reason is density: ragi is 7.16g protein per 100g against bajra’s 10.96g and jowar’s 9.97g (all IFCT 2017). Ragi still belongs in an Indian kitchen for its calcium, fiber, and texture. It just does not belong at the top of a protein-per-rupee ranking. The head-to-head is in the bajra vs jowar vs ragi comparison.

4. Carrier grains look cheap per gram but are throughput-limited

Wheat atta at ₹0.43 per gram of protein is the second-cheapest source on the whole list. But one roti is about 6g of protein. Hitting a 70g/day target on wheat alone would take twelve-plus rotis, which is over 1,200 kcal of wheat before you add anything else. Rice at ₹0.64 runs into the same wall — one plate gets you 6g. Cheap per gram of protein is not the same as practical per meal. Grains carry the plate; pulses, soy, and dairy carry the protein number.

5. Whey’s 1-kg tub is the most expensive per-gram source in the table

At ₹3.25 per gram of protein, a 1-kg whey tub is more expensive than almonds, more expensive than every dal, and about 8× chana dal. The 2-kg tub cuts the number to ₹1.50 per gram — still pricier than every whole pulse, still cheaper than dairy. The per-scoop framing (“24g for ₹75!”) hides all of this; per-gram is the honest lens. The whey vs Indian food protein comparison unpacks where whey actually earns its slot (convenience, digestion speed, post-workout timing — not price).

6. Eggs sit in the same order of magnitude as whole pulses

Whole eggs at ₹1.05 per gram of protein are pricier than chana dal or soy chunks but cheaper than sattu and less than half the cost of paneer. For lacto-ovo readers, that places two eggs at breakfast in the “boring, affordable, repeatable” bracket — 13g of protein for ₹14, same order as a katori of dal. Pure-vegetarian readers can ignore this row; the other 25 deliver a full dataset without it.

Limits of this dataset

Honest caveats, stated once.

  • Regional variance is real. Bengaluru loose-bin prices run 10-15% above Punjab-Haryana pulse mandis and 10-20% below Mumbai retail. Apply a ±15 to 20% band to every ₹/g number before comparing with your city.
  • Brand-vs-loose delta. Packaged-brand dals and millets typically run 20-40% higher per kilogram than loose-bin, which pushes ₹/g of protein up proportionally. A ₹0.42 chana dal in loose becomes closer to ₹0.55 in brand packaging.
  • Seasonal variance on pulses. Toor and moong prices swing ±10% within a year on monsoon-driven supply cycles. Chana and masoor are more stable.
  • Cooking yield. The table is in raw/dry weights for all pulses, grains, and soy chunks. Cooked weights roughly 2.5 to 3× the dry weight, which does not change ₹/g of protein but does change the plate size you end up eating.
  • Nutrition is food-composition data, not bioavailability data. IFCT values are total protein; digestibility runs lower for many plant sources, which is why ICMR-NIN RDA 2020 bumps the target from 0.83g/kg to 1.0g/kg on cereal-dominant diets. We have kept this article away from the bioavailability question because it is a different article.
  • Cost is one lever. A ₹/g-of-protein table will tell you what is cheapest. It will not tell you what you will actually cook twice a week, what travels to office, or what your family will eat without complaint. The companion per-serving data asset and the meal-ideas children in this cluster cover those questions.

Final note

This table is a reference, not a prescription. Use it next to the per-serving lens, not instead of it. A food that wins on ₹/g of protein but fails on Wednesday — because you do not actually cook it, or because a katori of it is not a real meal — is not cheap. Combine the floor foods (chana dal, soy chunks, wheat atta, horse gram, bajra) with one dairy or tofu anchor and one convenience fallback, and the budget question mostly solves itself.

Variables measured

  • Price per kilogram of food (₹/kg)
  • Protein per 100g (g)
  • Protein per standard serving (g)
  • Cost per standard serving (₹)
  • Rupees per gram of protein (₹/g of protein, primary)
  • Grams of protein per rupee (secondary, for readers who prefer that framing)

Source notes

  • Protein values from IFCT 2017 (Indian Food Composition Tables, NIN) with USDA FoodData Central for tofu (#172475), curd (#171287), and oats (#173904); whey is brand-dependent at the quoted 77g per 100g
  • Prices collected April 2026 from Bengaluru mid-tier kirana shops on loose-bin purchases; packaged-brand prices typically run 20-40% higher
  • Regional variance ±15-20% across Indian metros on pulses, dairy, and millets; seasonal variance ±10% on dals
  • Derivation formula: (₹/kg of food) ÷ (g protein per 100g × 10); sanity rule applied — whole-food single-source 70g/day must cost under ₹50
  • Vegetarian-first scope; whole egg included as lacto-ovo reference row; no chicken, mutton, or fish
  • Whey shown at two tub tiers (1-kg and 2-kg) to reflect real bulk-discount reality

Keep exploring

Related data and supporting reading

2026-04-17

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.

data assetprotein economicsbudget protein