15 cheap high-protein foods from any kirana store
Fifteen high-protein foods from any kirana store ranked by rupees per 20 g of protein, with calorie trade-offs and a sample ₹60-a-day plan that reaches 100 g.

Key takeaways
- Soya chunks, kala chana, masoor and chana dal give 20 g protein for under ₹10; paneer costs ₹50 for the same.
- Pulses are cheap but carry three parts carbohydrate to one part protein, so stack a denser food on top.
- ₹60 a day on soya, moong dal, eggs, milk and peanuts buys 83 g of protein before counting roti and sabzi.
You do not need a supplement shop to eat enough protein. The kirana store on your street already sells most of what a beginner needs, and the cheapest options are also the ones your family has cooked for decades. This list ranks them by what matters: rupees per 20 g of protein.
Prices are typical 2026 retail across Indian cities. Yours will differ by 10 to 20%, which does not change the ranking.
The full table
| # | Food | Protein per 100 g | Price | ₹ per 20 g protein |
|---|---|---|---|---|
| 1 | Soya chunks (dry) | 52 g | ₹130/kg | ₹5 |
| 2 | Kala chana (dry) | 20 g | ₹90/kg | ₹9 |
| 3 | Masoor dal | 25 g | ₹110/kg | ₹9 |
| 4 | Chana dal | 22 g | ₹110/kg | ₹10 |
| 5 | Besan | 22 g | ₹110/kg | ₹10 |
| 6 | Peanuts (raw) | 26 g | ₹140/kg | ₹11 |
| 7 | Moong dal | 24 g | ₹130/kg | ₹11 |
| 8 | Rajma | 24 g | ₹150/kg | ₹13 |
| 9 | Sattu | 20 g | ₹150/kg | ₹15 |
| 10 | Eggs | 6 g each | ₹7 each | ₹23 |
| 11 | Skimmed milk powder | 35 g | ₹400/kg | ₹23 |
| 12 | Oats | 13 g | ₹150/kg | ₹23 |
| 13 | Toned milk | 3.2 g per 100 ml | ₹56/litre | ₹35 |
| 14 | Curd | 3.5 g | ₹70/kg | ₹40 |
| 15 | Paneer | 18 g | ₹450/kg | ₹50 |
For comparison, a scoop of a mid-priced whey works out to ₹55 to ₹60 per 20 g, and chicken breast around ₹24. So eleven foods on this list beat chicken on price, and all fifteen beat whey.
The pulses: cheap, but check the calories
Dals and beans dominate the top of the list, but there is a catch. They are roughly one part protein to three parts carbohydrate. 100 g dry chana dal is 22 g protein and 340 kcal. To get 60 g of protein from dal alone you would eat 270 g dry, nearly 1,000 kcal. That is fine on a muscle gain diet and awkward on fat loss.
So use pulses as the base and stack a denser protein on top. Dal plus soya, chole plus curd, rajma plus an egg. The combination is still cheap and the protein per calorie improves a lot.
Kala chana deserves a special mention. Soaked overnight and boiled with salt, 100 g dry becomes a 360 kcal, 20 g protein snack you can carry in a dabba for two days. At ₹9 it is the cheapest cold snack on the list.
Soya, peanuts and besan: the hostel three
If you only have a kettle and an induction plate, these three cover you. Soya chunks need hot water and 15 minutes. Peanuts need nothing. Besan becomes a chilla in five minutes with water, salt and whatever vegetable is lying around.
A besan chilla from 60 g besan is 13 g protein and 230 kcal. Two of them with 100 g curd is a 520 kcal breakfast with 30 g protein for about ₹20. Add a 200 ml milk packet and you are at 36 g.
Peanuts are the one to watch on fat loss. 26 g protein per 100 g sounds great until you see the 567 kcal next to it. Thirty grams a day, a small fistful, is the sensible amount.
Dairy: not the cheapest, but the easiest
Milk, curd and paneer sit at the bottom of the price list but near the top for convenience. Nobody has to cook milk. Curd comes in a pouch. The protein is also complete, which pulses are not on their own.
Skimmed milk powder is the overlooked one. At ₹400 a kg it looks expensive until you work out that 35 g protein per 100 g puts it at ₹23 per 20 g, the same as eggs. Two tablespoons stirred into your regular milk turns a 6 g glass into a 12 g glass. Mix it into dal, kheer or chai, and nobody notices.
Building a ₹60 a day protein budget
Say you want 100 g of protein and you have ₹60 a day for the protein part of your food. Here is one way to spend it.
- 50 g soya chunks: 26 g protein, ₹7
- 100 g dry moong dal across two meals: 24 g protein, ₹13
- 2 eggs: 12 g protein, ₹14
- 400 ml toned milk: 13 g protein, ₹22
- 30 g peanuts: 8 g protein, ₹4
That is 83 g for ₹60. Your rotis, rice and sabzi add another 15 to 20 g on top, so you land at or above 100 g. No supplement, no imported anything.
Three things the price does not tell you
- Digestibility. Plant proteins are absorbed a little less efficiently than egg, milk or meat. If most of your protein is pulses, aim for the top of your range, 2 g per kg rather than 1.6.
- Amino acid balance. Dal is low in methionine, wheat is low in lysine, and together they fix each other. Dal-roti and rajma-chawal are good combinations, not just tasty ones.
- Volume. Cheap protein takes up more space in your stomach. On a muscle gain diet, where you need 2,800 kcal, that can be a real obstacle. This is where a little paneer, milk powder or whey earns its price.
Buy whichever five of these you will actually cook, and buy them in 1 kg packs. Scanning the barcode in Repyra logs them in a second, and the quick picks will remember your usual portion after a few days.
Questions people ask
What is the single cheapest protein food in India?
Soya chunks, at about ₹5 for 20 g of protein. Kala chana and masoor dal are next at around ₹9.
Can I build muscle on dal and roti alone?
It is possible on a high calorie intake, but you would need to eat a very large volume. Adding soya, eggs, milk or paneer makes the protein target much easier to reach.
Is skimmed milk powder a good protein source?
Yes. At 35 g protein per 100 g and about ₹23 per 20 g, it matches eggs on price and can be stirred into milk, dal or chai.


