Home Workout Templates
Tools & Resources
Exercise Library Food Database Free Tools Fitness Quiz Learn Log App FREE Plans FAQ Get Started →
Nutrition

High-Protein Indian Diet on a Budget: 100g Protein for Under ₹150 a Day

Hit 100g of protein a day for under ₹150 with Indian food. Cheapest protein foods ranked per ₹10, plus veg, egg and non-veg sample days.

An everyday steel thali with roti, sabzi and chana
Photo: Photo by NEOSiAM 18+ on Pexels
On this page

Yes, you can eat about 100g of protein a day for under ₹150 in India, without protein powder and without living on boiled chicken. There is no secret superfood involved. You just need to know which foods give you the most protein for every rupee, and build your day around three or four of them instead of hoping dal and roti will get you there.

This guide ranks the cheapest protein foods from our Indian food database, then gives you three full sample days (veg, egg and non-veg) that each land near 100g, a hostel version, a ₹100 version, a weekly shopping list, and the mistakes that quietly keep budget diets low in protein.

Can you really eat 100g of protein a day for ₹150?

Yes. All three sample days in this guide hit 99 to 103g of protein for ₹144 to ₹146, using only foods and prices from our database. That works out to roughly ₹4,300 to ₹4,400 a month for the protein-carrying part of your diet.

Three things make it work:

  1. Anchor foods. Each day leans on two or three foods that deliver a lot of protein per rupee: soya chunks, sattu, eggs and roasted chana.
  2. Every meal carries protein. Three or four meals with 20 to 40g each beats one big dinner, and it matches the 20 to 40g per meal suggested by the International Society of Sports Nutrition.
  3. Dal, roti, milk and curd fill the gaps. They add 3 to 14g per serving, cheaply, but they are not the foundation.

The prices here are our database estimates for a home-cooked or shop-bought serving. Your city, season and shop will differ, so treat the rupee totals as a guide, not a bill.

How much protein do you need in the first place?

If you lift weights, about 1.6g of protein per kg of bodyweight a day is a well-supported target. A meta-analysis of 49 trials (Morton and colleagues, 2018) found that muscle gains from training stopped improving beyond roughly that level, and ICMR-NIN's 2024 Dietary Guidelines for Indians say the same.

So 100g covers someone weighing about 60 to 63kg. If you weigh 70kg, aim closer to 110g. The full breakdown by bodyweight is in our guide to how much protein you need per day.

If you don't train at all, ICMR's basic allowance is 0.83g/kg, about 54g for a 65kg adult. 100g is a lifter's number, not a requirement for everyone.

What does "cheap protein" actually mean?

Most "cheap protein" lists just name foods that feel inexpensive. Two numbers actually matter:

A food that scores well on both is a true budget protein. Soya chunks are the standout: about 20g per ₹10 and about 15g per 100 calories. Chicken breast is the opposite case. It is excellent per calorie (about 19g per 100 calories) but gives only 4.4g per ₹10, so it is lean but not cheap.

Then there are foods that look good per rupee only because they are cheap calories. A roti gives about 6g of protein per ₹10 but only about 3g per 100 calories, because most of it is carbohydrate. Rotis and rice are worth eating; they just aren't your protein plan.

Which number should you care about more? If you are trying to lose fat, protein per calorie matters more, so lean on soya, eggs and chicken. If you are a thin guy who struggles to eat enough, cheap calories that bring some protein along (roti, chikki, peanut butter) actually help. Our guide on building muscle as a skinny guy covers that side.

The cheapest protein foods in India, ranked by protein per ₹10

Here are the top 12 foods in our database by protein per ₹10, with the serving each number is based on:

  1. Soya chunks (1 cup cooked, 50g dry): 26g protein for about ₹13. 20g per ₹10.
  2. Sattu drink (1 glass, 60g sattu): 12g for about ₹10. 12g per ₹10.
  3. Soya chunk curry (1 bowl, 200g): 28g for about ₹25. 11.2g per ₹10.
  4. Boiled eggs (2 eggs): 12g for about ₹13. 9.2g per ₹10.
  5. Omelette (2 eggs): 13g for about ₹17. 7.6g per ₹10.
  6. Besan chilla (2 chillas): 10g for about ₹15. 6.7g per ₹10.
  7. Roasted chana (1 cup, 50g): 10g for about ₹15. 6.7g per ₹10.
  8. Egg bhurji (2 eggs): 14g for about ₹22. 6.4g per ₹10.
  9. Chapati or roti (1 roti, 35g atta): 3g for about ₹5. 6g per ₹10.
  10. Missi roti (1 roti): 6g for about ₹10. 6g per ₹10.
  11. Peanut chikki (1 bar, 40g): 6g for about ₹10. 6g per ₹10.
  12. Masoor dal (1 bowl, 200g): 14g for about ₹25. 5.6g per ₹10.

And a few foods people often assume are budget protein:

Two things jump out. First, the top of the list is soya, sattu, eggs and chana, which is why every sample day below uses at least two of them. Second, paneer and chicken are good foods but expensive protein. Use them when the budget allows, not as the base. For more options, see our list of cheap high-protein foods in India.

Sample day 1: pure vegetarian, 99g for ₹144

Total: about 99g of protein for about ₹144, around 1,800 calories.

Soya and sattu supply 40g of that for ₹35. The dal, rotis, curd and milk fill in the rest. The plate also follows ICMR-NIN's advice to combine cereals and pulses in roughly a 3:1 ratio by raw weight, which improves the quality of vegetarian protein, and its note that adding 250ml of milk a day further improves the amino acid mix.

Sample day 2: eggitarian, 99g for ₹145

Total: about 99g of protein for about ₹145, around 1,950 calories.

Six eggs a day sounds like a lot, but at about ₹6.50 an egg, they are the most practical protein after soya and sattu, and they need almost no cooking skill. Breakfast alone covers nearly a third of the day here. For breakfast ideas beyond boiled eggs, see our high-protein Indian breakfasts.

Sample day 3: non-veg, 103g for ₹146

Total: about 103g of protein for about ₹146, around 1,500 calories.

Notice what happened: 100g of chicken costs about ₹70, nearly half the day's budget, and brings 31g. That is why even the non-veg day leans on eggs, sattu and soya. If you eat meat, chicken is the most expensive protein per rupee in this guide, so have it once a day, not three times.

A word on calories across all three days. They are built to hit protein, not a calorie number, and they land between about 1,500 and 1,950 calories depending on the day and how much oil goes into your cooking. That suits fat loss. If you are trying to gain muscle, you will probably need more, and the cheapest fix is extra rotis or rice at ₹5 to ₹10 each (every roti also adds 3g of protein). For a full muscle-gain eating structure, see our Indian diet plan for muscle gain.

Living in a hostel or PG? Add to the mess food

Mess food usually means dal, rice, roti and a sabzi. Say you eat two mess meals a day with 1 bowl of toor dal and 4 rotis each. At database values that is about 23g per meal, or 46g a day. If your mess dal is thin and watery, count it as half.

Close the gap with foods that need no kitchen:

That adds 52g for ₹63 on top of what you already pay for, bringing the day to about 98g. Vegetarian? Replace the eggs with a second glass of sattu and a second cup of roasted chana. You then add 50g for ₹62, for a day of about 96g.

Can you do it on ₹100 a day?

Almost. Here is a stretch version, fully vegetarian:

Total: about 89g of protein for about ₹98. That covers a 55kg lifter's target of about 88g. If you weigh more, adding 2 boiled eggs (12g for ₹13) gets you past 100g for about ₹111.

The cost of going this cheap is variety. You are eating the same five foods every day, which is fine for a tight month but hard to sustain. Rotate in eggs, curd or paneer whenever money allows.

Weekly shopping list for a budget high-protein diet

This covers one person eating roughly the vegetarian or eggitarian day above for seven days. Quantities come from the serving sizes in our database. Prices vary too much between cities to list, so check your local kirana or market. At database prices, either day works out to roughly ₹1,000 a week.

How do you make soya, chana, eggs and curd taste good?

Cheap protein only works if you will actually eat it every day. A few habits help.

Soya chunks: boil them in salted water until soft, then squeeze out every bit of water with your hands. This removes the raw smell and lets them soak up masala like a sponge. Then cook them in the same onion-tomato masala you would use for chicken, or as a dry sabzi with plenty of spice. Boiled and minced, they also make a good soya keema or paratha stuffing.

Sattu: savoury is the classic. Mix into water with salt, roasted jeera powder, lemon, chopped onion and green chilli. If you prefer sweet, blend it with milk and a little jaggery. Sattu also works as a paratha stuffing.

Roasted chana: eat it straight as a snack, or turn it into a quick chaat with chopped onion, tomato, lemon and chaat masala. Keep a jar at your desk or in your bag so the evening snack is chana, not biscuits.

Eggs: boil 6 to 8 at a time and keep them in the fridge for the next couple of days. Rotate between boiled, bhurji, omelette and a simple egg curry so you don't get bored by week two.

Curd: setting it at home from milk is usually cheaper than buying packets. Eat it plain with lunch, as raita, or hang it overnight in a cloth for a thick dip.

Batch cooking: spend an hour on one evening a week. Boil and squeeze a batch of soya chunks, boil a dozen eggs, cook a large pot of dal for the next two days, and fill your chana jar. Then a weekday high-protein meal is mostly reheating.

Where does whey protein fit on a budget?

At about ₹75 for a 24g scoop, whey costs roughly ₹3.10 per gram of protein. (If you'd rather skip powder entirely, here are 15 Indian foods that replace whey.) Compare that with our database:

One scoop a day adds about ₹2,250 a month. ICMR-NIN's guidelines note that most people, including athletes, can meet their protein needs from food alone, and that protein supplements on top of a balanced diet won't build extra muscle.

Whey makes sense when you travel a lot, have no kitchen, or are consistently 20 to 30g short after you have already fixed your meals. If you do buy it, pick a reputable, third-party tested brand. Adulteration is a real problem in India, and our guide to protein powder safety explains what to check.

Common mistakes that keep budget diets low in protein

  1. Counting dal as your main protein. One bowl gives 11 to 14g. You need three or four solid sources a day, not one bowl of dal and hope.
  2. Ignoring portion sizes. "Some soya" in a pulao might be 15g dry, which is about 8g of protein, not 26g. Measure your usual portions once with a measuring cup or kitchen scale so you know what you are actually eating.
  3. Relying only on milk. A glass gives 6g. Four glasses a day add 24g for ₹48 and 480 calories. Milk is a useful top-up, not a plan.
  4. Making paneer the daily protein on a tight budget. At 3.6g per ₹10 it costs more than twice as much per gram as eggs, and 100g carries about 20g of fat. Enjoy it, but don't build a ₹150 day around it.
  5. Low-protein breakfasts. A plate of poha gives about 5g. Start the day 20g behind and you spend the evening trying to catch up.
  6. Buying whey before fixing food. A ₹2,000-plus tub won't fix a day that runs on poha, chai and a thin dal.
  7. Forgetting calories and training. ICMR-NIN is clear that protein is not used well for muscle without enough energy from carbs and fats, and without regular resistance exercise. Pair your protein with a training plan built on progressive overload.

Get the cheap anchors into every meal, eat enough overall, train consistently, and 100g a day stops feeling like a project. If you want a coach to help you apply this to your own routine, budget and training, that is what our coaching does, with practical Indian food guidance on WhatsApp.

Frequently asked questions

What is the cheapest source of protein in India?

Soya chunks, by a wide margin in our food database. One cup cooked (50g dry) gives about 26g of protein for around ₹13, which is about 20g per ₹10. Sattu (12g per ₹10) and boiled eggs (about 9g per ₹10) come next.

Can a vegetarian get 100g of protein a day without supplements?

Yes. The vegetarian sample day above reaches about 99g for roughly ₹144 using sattu, soya chunks, masoor dal, roasted chana, curd, milk and roti. ICMR-NIN's guidelines state that most people can meet their protein needs through food alone.

How much does a high-protein diet cost per month in India?

At our database prices, the sample days in this guide cost about ₹4,300 to ₹4,400 a month for roughly 100g of protein a day. The stretch version comes to about ₹3,000 a month for close to 90g. Oil, spices and vegetables are extra, and prices vary by city.

Are eggs or paneer cheaper for protein?

Eggs, clearly. Boiled eggs give about 9.2g of protein per ₹10 against 3.6g for paneer, so eggs are roughly two and a half times better value. Paneer also carries about 20g of fat per 100g, so it is a good food but an expensive protein.

Is chicken a cheap protein source?

Per calorie it is excellent, but per rupee it is not. At about 4.4g of protein per ₹10, chicken breast gives less than half the value of eggs and about a fifth of soya chunks. On a tight budget, have it once a day and let eggs, sattu and soya cover the rest.

GymBuddy India
GymBuddy India Team
GymBuddy India helps everyday Indians train with structure and stay consistent, through personalised WhatsApp coaching, free tools, and a growing library of guides.