New Update Repyra 2.0: 3D Biomechanics Engine & Native Gujarati Macro Tracking is live. See what's new

How to eat 120 g of protein a day on a vegetarian Indian diet

A full day of vegetarian Indian meals that reaches 128 g protein without whey, plus the foods and swaps that close the gap for hostel and office eaters.

Indian vegetarian thali paneer dal roti curd

Key takeaways

  • A normal roti-dal-sabzi thali gives about 20 g protein per meal, so you need one dense protein food at every meal.
  • Soya chunks, paneer, moong dal chilla, rajma, peanuts and milk do most of the work; roti and rice are the side.
  • The sample day lands at 128 g protein and about 2,300 kcal with no supplements.

If you weigh 60 kg and want to build muscle, the usual target is around 2 g of protein per kg, so about 120 g a day. On a standard Indian vegetarian plate, that number is hard. Two rotis, a katori of dal, a sabzi and some rice gets you maybe 20 g at lunch. Do that three times and you are at 60 g, half of what you need.

The gap is not about effort. It is about which foods take up space on the plate. This post shows the swaps that close it, then a full day of meals that lands at 128 g without whey.

Why the normal thali comes up short

Roti, rice, potato sabzi and most Indian vegetables are carb foods with a little protein attached. A 40 g roti has about 3 g. A cup of cooked rice has about 4 g. Aloo gobi, bhindi, lauki: 2 to 3 g per katori at best.

Dal is better but still thin. One cup of properly cooked dal is about 9 g, and the watery version served in a hostel mess is closer to 5 g. Nobody is drinking four cups of dal at lunch.

So the fix is simple to state: every meal needs one food that is mostly protein, and the roti and rice stay as the side.

The vegetarian foods that actually carry protein

FoodAmountProteinkcal
Soya chunks (dry)50 g26 g175
Paneer100 g18 g265
Moong dal (dry, for chilla)80 g19 g280
Rajma or chana (dry)60 g14 g200
Peanuts30 g8 g170
Roasted chana40 g8 g145
Toned milk200 ml6 g115
Curd150 g5 g90
Tofu100 g12 g110

Soya chunks are the outlier. At ₹130 a kg from any kirana store, 50 g dry gives you as much protein as 150 g of paneer for a fraction of the calories and cost. If you dislike the texture, soak them in hot salted water, squeeze, and mince them into keema or bhurji. Most people stop noticing.

A full day at 128 g protein, no whey

This is for a 60 kg person training three or four days a week. Everything here is from a normal kitchen.

Breakfast, 28 g protein, 455 kcal

  • 3 moong dal chillas made from 80 g dry dal, with green chutney: 19 g, 280 kcal
  • 100 g curd: 3.5 g, 60 kcal
  • 200 ml toned milk, plain or as chai: 6 g, 115 kcal

Mid-morning, 16 g protein, 315 kcal

  • 40 g roasted chana and 30 g peanuts, kept in a dabba at your desk: 16 g, 315 kcal

Lunch, 33 g protein, 740 kcal

  • 2 rotis: 6 g, 220 kcal
  • 1 cup thick dal: 9 g, 200 kcal
  • Paneer bhurji from 100 g paneer with onion and tomato: 18 g, 320 kcal
  • Salad or kachumber

Evening, 26 g protein, 225 kcal

  • Soya chunk sabzi from 50 g dry chunks with one teaspoon oil: 26 g, 225 kcal

Dinner, 25 g protein, 560 kcal

  • 2 rotis: 6 g, 220 kcal
  • Rajma from 60 g dry beans with tadka: 14 g, 250 kcal
  • 150 g curd: 5 g, 90 kcal

Day total: about 128 g protein, about 2,300 kcal. That is roughly maintenance for a 60 kg man with a desk job who lifts, and a modest surplus for a smaller woman. Adjust the roti and rice, not the protein, to move calories up or down.

What to do if you eat in a hostel mess or office canteen

You cannot control the dal thickness or the paneer count, so bring the protein with you. A 200 ml tetra pack of milk, a packet of roasted chana, and a tiffin box of soya keema cooked on Sunday covers 50 g of the day before you touch the mess food.

Ask for a double serving of dal and skip the extra rice. Eat the curd. If the mess does eggs and you eat them, two boiled eggs add 12 g for about ₹14.

Small habits that add 20 g without trying

  • Mix 50 g of moong or chana dal flour into your roti atta. Three rotis gain about 4 g.
  • Make chai with milk only, no water. Two cups a day is an extra 6 g.
  • Replace the evening biscuit with a fistful of peanuts or chana.
  • Keep curd at every meal. 150 g three times is 15 g.

Track it for one week. Most beginners who think they eat 100 g find they are at 55 to 65 g, and the fix is always the same two things: a real protein food at breakfast, and soya or paneer at one more meal. Repyra's food search knows 'rotli', 'dudh' and 'mag ni dal', so logging a Gujarati home meal takes about a minute.

If you have a kidney condition, check with your doctor before pushing protein this high. For everyone else, 2 g per kg is well within what the research considers safe.

Questions people ask

Can I get 120 g of protein without soya chunks?

Yes, but it costs more calories. Replace the 50 g of soya with 150 g paneer or 300 g tofu, and expect the day to rise by 200 to 300 kcal.

Is 2 g of protein per kg too much for a vegetarian?

For healthy adults it is a normal target for muscle building, and plant proteins are slightly less well absorbed, so aiming higher rather than lower makes sense. Check with a doctor if you have a kidney condition.

Does dal count as a complete protein?

Dal is low in methionine and wheat or rice is low in lysine, so eating them together over the day gives you a complete amino acid profile.

Nidhi DavaraCo-Founder & Head of Nutrition & Product

Nidhi spearheaded the 235+ regional Indian food database, vegetarian macro calibration, and recovery routines, making authentic Gujarati meals work for serious athletic performance.

Put it into practice tonight.

Repyra builds today's plan from your last seven days and logs rotli as fast as you can type it.