An Indian vegetarian diet can comfortably hit 100–130 g of protein a day. It just does not do it by accident, and the default plate — rice, dal, sabzi, roti — lands nearer 40 g than most people assume.

The gap is almost always the same misunderstanding: dal is treated as the protein, when it is mostly a carbohydrate dish with some protein in it.

The numbers, per realistic serving

FoodServingProteinCalories
Soya chunks50 g dry26 g165–180
Paneer, full-fat100 g18–20 g260–300
Paneer, toned milk100 g17–19 g150–190
Whey protein1 scoop22–25 g110–130
Greek or hung curd1 katori10–12 g100–140
Rajma1 katori7–9 g180–260
Chole1 katori8–10 g200–280
Dal, toor or moong1 katori6–9 g120–180
Curd, plain1 katori5–6 g90–120
Milk200 ml6–7 g120–135
Sprouted moong1 katori6–7 g90–120
Peanuts30 g8 g170–180
Almonds102.5 g70–85
Tofu100 g8–10 g75–90
Roti1 medium2.5–3 g70–110
Plain rice1 katori3–4 g180–210

Two things stand out.

Soya chunks are unreasonably good value. 26 g of protein for around 170 calories is better than almost anything else on the list, including chicken by calorie. They are also cheap and shelf-stable. Their reputation is worse than their nutrition, mostly on the strength of texture complaints and some long-debunked worry about soy.

Roti and rice contribute more than people credit. Four rotis is 10–12 g. Not a protein source, but not nothing, and it counts toward the total.

Why dal is not enough

A katori of dal gives 6–9 g. To reach 100 g of protein on dal alone you would need somewhere between eleven and sixteen katoris, which is roughly 1,800 calories of dal and not a thing anyone does.

This is not an argument against dal. It is an excellent food. It is an argument against treating it as the answer to "where do I get protein", because that framing is what leaves vegetarian diets sitting at 45 g a day while the person eating them believes they are covered.

Building a 100 g day

Here is what it actually looks like. This is a normal Indian vegetarian day, not a bodybuilding menu:

Breakfast — 2 besan chillas with 1 katori curd → 16 g Mid-morning — 200 ml milk → 6 g Lunch — 2 rotis, 1 katori dal, 1 katori sabzi, 1 katori curd → 19 g Snack — 30 g roasted chana or peanuts → 8 g Dinner — 150 g paneer or soya sabzi, 2 rotis, salad → 32 g

That is 81 g without trying very hard. Add one scoop of whey, or swap the plain curd for hung curd twice, and you are over 100 g.

The pattern to notice: every meal has a protein anchor. That is the whole technique. A plate of rice, dal and sabzi has no anchor and lands around 12 g; the same plate with 100 g of paneer in the sabzi lands at 30 g.

Practical adjustments that cost nothing

  • Toned-milk paneer instead of full-fat. Nearly identical protein for around 40% fewer calories. In a deficit this is the single best swap on the list.
  • Hung curd instead of plain. Straining doubles the protein per katori. It takes twenty minutes and a muslin cloth.
  • Keep soya chunks in the house. Twenty minutes of soaking and they go into any sabzi or pulao without changing the dish much.
  • Sprout your moong and chana. Slightly more protein, considerably more digestible, and it turns a store-cupboard item into a snack.
  • Add besan. Chilla, dhokla and kadhi all carry meaningfully more protein than their wheat or rice equivalents.

What about eggs?

If you are eggetarian, this gets substantially easier. Three eggs is 18 g for around 220 calories, they need no preparation to speak of, and egg bhurji absorbs into an Indian breakfast without any adjustment. Boiled eggs are also the most predictable food on any of these lists — no cooking fat, no portion ambiguity.

Do vegetarians need to worry about complete proteins?

Not on a day-to-day basis, and not at all if the diet is varied.

The concern is real in principle: individual plant proteins are lower in one or another essential amino acid — cereals are short on lysine, pulses on methionine. But the body maintains an amino acid pool across the day, so the old advice to "combine proteins at every meal" is unnecessary. Dal-chawal happens to be a complete combination anyway, which is presumably not a coincidence.

Eat a mix of pulses, dairy, soya and grains across the day and this takes care of itself. If your protein comes almost entirely from one source, that is the case worth thinking about.

The measurement problem

The reason most people underestimate their protein is not that they are careless. It is that protein is invisible — you cannot look at a plate and see 12 g rather than 30 g, and unlike calories there is no feedback loop teaching you.

The only real fix is to log it for a while until your intuition calibrates. Two or three weeks is usually enough to permanently change how you look at a plate.


BetterCal fills in protein alongside calories from a plain description — "paneer sabzi, two rotis and a katori of curd" — so the number is there without ingredient-by-ingredient entry. For anyone trying to hit a vegetarian protein target, being able to see the running total is most of the work.


Related: how much protein do you actually need? · Indian food calorie chart · protein calculator