You can build muscle on a fully vegetarian Indian diet. The target is the same as for anyone else, roughly 1.6 to 2.2 g of protein per kg of body weight a day, and the food list is simply different. This plan shows a full day built from dal, paneer, soya chunks, curd, sattu and peanuts, what each one contributes, and how to rotate them through the week so it stays affordable and does not get boring.
Before choosing foods, fix a daily protein target. For muscle gain, 1.6 to 2.2 g per kg of body weight is the range most often used in sports nutrition research. For a 65 kg person that is roughly 105 to 140 g a day. Write the number down. Every meal below is just a way of reaching it.
If that looks like a lot, remember that the grains and vegetables you already eat contribute 15 to 25 g without you trying. The plan only has to cover the rest.
These are approximate values per 100 g, and they vary by brand and by whether the food is raw or cooked. Paneer is around 18 g. Dry soya chunks are the most concentrated vegetarian source at roughly 50 g, before soaking. Cooked dals, rajma and chana give about 7 to 9 g. Roasted chana, peanuts and sattu flour sit between about 20 and 25 g in dry form. Curd gives 3 to 4 g, and hung curd or Greek-style curd roughly double that. A glass of milk has about 6 to 8 g. Wheat roti gives about 3 g each.
The point of knowing these numbers is that soya chunks, sattu and peanuts are cheap per gram of protein, while paneer is more expensive but easy to eat in large amounts.
Breakfast: two besan or moong dal chillas with a bowl of curd, and a glass of milk. That is roughly 28 to 32 g. Mid-morning: a handful of roasted chana or peanuts, about 8 to 10 g.
Lunch: a bowl of dal, 100 g of paneer sabzi, two rotis, rice, and salad, about 35 g. Evening: a glass of sattu drink (two tablespoons of sattu in water with lemon and salt) or a bowl of sprouts, about 10 to 12 g. Dinner: rajma or chana with two rotis and a bowl of curd, about 22 to 25 g.
Add it up and you are near 105 to 120 g with no supplements. If you train hard and need more, add a soya chunk curry or a third roti at dinner before reaching for powder.
Eating the same dal and paneer every day gets tiring and narrows what you take in. Rotate the protein anchor: paneer on two days, soya chunks on two days, rajma or chole on two days, and a lighter day with dal and curd. Use besan, moong and oats for breakfast on different days.
Combining cereals with pulses, as dal-chawal and rajma-roti already do, also gives a more complete mix of amino acids across the day.
To gain muscle you usually need to eat slightly above maintenance, around 200 to 300 kcal a day. Use the TDEE calculator on this site to find your maintenance number and add a small surplus. Weigh yourself weekly and aim for 0.25 to 0.5 kg of gain a month if you are an experienced lifter, a little faster if you are new.
Spread protein over three or four meals, since that is easier to eat and digest than one large meal. If your weight is not moving after three weeks, add a small amount of food before changing anything else.