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.

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
| Food | Amount | Protein | kcal |
|---|---|---|---|
| Soya chunks (dry) | 50 g | 26 g | 175 |
| Paneer | 100 g | 18 g | 265 |
| Moong dal (dry, for chilla) | 80 g | 19 g | 280 |
| Rajma or chana (dry) | 60 g | 14 g | 200 |
| Peanuts | 30 g | 8 g | 170 |
| Roasted chana | 40 g | 8 g | 145 |
| Toned milk | 200 ml | 6 g | 115 |
| Curd | 150 g | 5 g | 90 |
| Tofu | 100 g | 12 g | 110 |
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.


