← Guides

Running a calorie deficit on a vegetarian diet

Vegetarian eating starts with an advantage in a deficit: plant-heavy plates are lower in calorie density, so the amount of food you get per calorie is already working in your favour. Calories are rarely where it goes wrong.

Protein is.

Almost every vegetarian protein source arrives with substantial carbohydrate or fat attached. You cannot buy the protein on its own, so hitting the same target costs more of the calorie budget than it does for a meat eater.

The arithmetic

The target in a deficit is 1.6–2.2 g of protein per kg of bodyweight (0.7–1 g per lb) — see why that number rises as calories fall. A 70 kg (154 lb) person needs roughly 112–154 g a day.

The bottom of that range costs about 600 kcal of chicken breast. It costs about 1,850 kcal of paneer. Same protein, three times the budget — and against a 1,700 kcal target, the second number is not a diet, it is a dead end.

So the question is not which foods are high in protein. It is which are high in protein per calorie.

Protein per 100 kcal

Food Per 100 g (3.5 oz) Protein per 100 kcal
Egg white 52 kcal, 11 g ~21 g
Whey or soya isolate powder 400 kcal, 80 g ~20 g
Greek yoghurt, 0% 55 kcal, 10 g ~18 g
Seitan 120 kcal, 21 g ~18 g
Cottage cheese, low fat 72 kcal, 12 g ~17 g
Soya chunks, dry 345 kcal, 52 g ~15 g
Tofu, firm 145 kcal, 17 g ~12 g
Skimmed milk 35 kcal, 3.4 g ~10 g
Whole egg 143 kcal, 13 g ~9 g
Greek yoghurt, full fat 97 kcal, 9 g ~9 g
Lentils / dal, cooked 116 kcal, 9 g ~8 g
Rajma, cooked 127 kcal, 8.7 g ~7 g
Paneer 296 kcal, 18 g ~6 g
Chickpeas / chana, cooked 164 kcal, 9 g ~5 g
Peanut butter 588 kcal, 25 g ~4 g
Almonds 579 kcal, 21 g ~4 g
Chicken breast, for scale 165 kcal, 31 g ~19 g

Above roughly 12 g per 100 kcal you have a tool. Below about 6 g you have a food you eat for other reasons, which happens to contain protein.

Three assumptions the table breaks

Paneer is not a protein food. Three-quarters of its calories are fat. A 150 g (5 oz) portion is 27 g of protein for 440 kcal; the same 440 kcal of firm tofu is 300 g and 52 g of protein. Paneer is not bad food, it is expensive protein — and in a deficit that distinction is the whole game.

Dal and chana are carbohydrate dishes with protein attached. A generous bowl of dal is 7–9 g. A dal–roti–sabzi plate lands near 12 g for 600 kcal, which is why people eating it three times a day finish a deficit with less muscle than they started.

Nuts are a fat source. Satiating, nutritious, and no route to 130 g.

The swaps that move the number

Each is roughly calorie-neutral and adds protein:

  • Full-fat curd → 0% Greek yoghurt or hung curd. Doubles protein per calorie, changes nothing about how you use it.
  • Half the paneer → soya chunks or tofu, same gravy. The masala was doing the flavour work.
  • The second roti → curd, two egg whites, or skimmed milk. Same calories, 8–15 g more.
  • Cashew and cream gravies → tomato and onion bases. Frees 150–250 kcal a meal to spend where it buys protein.
  • Cereal and toast → a yoghurt bowl. Breakfast is where most vegetarians lose the protein race before it starts.

Why soya chunks and seitan are outliers

Both are efficient for the same reason: what normally rides along with plant protein has been stripped out.

Soya chunks (textured vegetable protein, sold as Nutrela and similar) are defatted soya flour — the oil is removed industrially. 50 g dry is 26 g of protein for 170 kcal and rehydrates into a full portion. Soya protein is also complete, which most plant sources are not.

Seitan is close to pure wheat gluten, around 75% protein by dry weight. Two real caveats: impossible with coeliac disease, and low in lysine, so it belongs among several protein sources rather than being your only one.

A day at roughly 1,500 kcal and 108 g

  • Breakfast — 200 g 0% Greek yoghurt, berries, oats (~190 kcal, 22 g)
  • Lunch — dal, two rotis, a sabzi (~600 kcal, 25 g)
  • Snack — 150 g low-fat cottage cheese with chilli and salt (~110 kcal, 18 g)
  • Dinner — 60 g dry soya chunks in tomato gravy, rice, salad (~530 kcal, 35 g)
  • Plus — 250 ml skimmed milk (~90 kcal, 8 g)

That is 1.6 g/kg for a 68 kg (150 lb) person, with slack left for milk in tea. An 80 kg (176 lb) person is one scoop of powder short — precisely what powder is for.

What does not change

Establish maintenance, subtract a sensible percentage, keep the volume high. The vegetarian-specific part is only this: protein, not calories, is the binding constraint, so build the day from the top of that table and let the rest fill in around it.


General information, not medical advice.