Vegetarians in India can meet their protein needs with everyday foods. The question for most families is which sources give the most protein for the money. Prices below are BigBasket online prices checked on 11 November 2026; they change with city, brand, offers and season. Protein values are typical label and food-table figures.
The cheapest sources
Soya chunks (Nutrela, 1 kg at ₹138, so ₹13.80 per 100 g): about 52 g protein per 100 g dry, roughly ₹0.27 per gram of protein - by far the cheapest. Masoor dal (Amul organic, 1 kg at ₹141): about 24 g per 100 g, roughly ₹0.59 per gram. Toor dal (Amul organic, 1 kg at ₹182): about 22 g per 100 g, roughly ₹0.83 per gram. Kabuli chana (Amul organic, 1 kg at ₹214): about 20 g per 100 g, roughly ₹1.07 per gram. Groundnuts (500 g at ₹134): about 25 g per 100 g, roughly ₹1.08 per gram, but high in calories. Non-organic loose dal and chana are often cheaper still.
Dairy options
Milk (Amul Taaza, 1 L at ₹59): about 3.3 g protein per 100 ml, roughly ₹1.79 per gram. Paneer (Amul, 200 g at ₹76): about 18 g per 100 g, roughly ₹2.11 per gram. Dairy costs more per gram of protein but adds calcium and is easy to eat. Home-set curd from the same milk costs about the same as milk per gram of protein.
Mix sources across the day
Combining cereals with pulses - rice with dal, roti with chana - improves overall protein quality. A day with 50 g soya chunks, 60 g dal, a bowl of curd and two glasses of milk gives roughly 60 g of protein for around ₹60 at these prices.
Check your own numbers
Read the label on what you buy and divide the price by the grams of protein. FitGeek's Food page shows protein per serving and budget badges, and the Guides page includes a protein-cost tool to compare foods in seconds.