Five substantial vegetarian dinners can be built around ordinary lentils, tofu, chickpeas, kidney beans and low-fat quark without buying a specialist protein product. The useful comparison is not just grams of protein per 100 g. It is how much protein a complete, edible dinner provides, what else is on the plate, and what the portion costs.
This guide compares five single-person dinners, each based on specified ingredient weights. In the illustrative German shopping model, the calculated protein ranges from 22.2 to 39.6 g per meal, while the ingredient cost ranges from €1.26 to €1.81. These are model outputs, not measured nutrition panels for freshly prepared dishes. They exclude electricity, travel, labour, packaging waste and spices already in the cupboard. Prices are deliberately hypothetical and not current supermarket quotes.
It is possible to compare low-cost vegetarian protein without prescribing a specific diet or pretending that the cheapest food is automatically the most nutritious. The German Nutrition Society's guidance on pulses and nuts supports using pulses regularly and combining them with grains, potatoes, dairy or eggs. The Federal Centre for Nutrition's protein guide explains why total diet quality and protein-source variety matter more than a marketing label.
Five dinner portions compared on the same basis
Each line below is one dinner for one adult, not a pan for four, a whole shopping bag or a dry-weight estimate for a cooked ingredient. Pasta is specified dry before boiling. All beans and chickpeas are already cooked and drained. Rice, broccoli, spinach, eggs and potatoes are weighed in their cooked edible form; quark, raw vegetables, tofu and oil are weighed as used. This is essential for a valid comparison.
| Meal for one | Amounts in edible weight | Protein | Fibre | Energy | Ingredient cost |
|---|---|---|---|---|---|
| Lentil, rice and carrot bowl | Cooked brown lentils, drained 200 g, Cooked rice 150 g, Carrot 100 g, Plain tomato passata 130 g, Cooking oil 7 g | 22.2 g | 13.9 g | 521 kcal | €1.26 |
| Tofu, broccoli and wholegrain pasta | Plain tofu 180 g, Cooked broccoli 200 g, Dry wholegrain pasta 70 g, Cooking oil 7 g | 34.8 g | 14.7 g | 593 kcal | €1.48 |
| Chickpea, egg and spinach skillet | Cooked chickpeas, drained 160 g, Cooked whole egg, edible weight 100 g, Cooked spinach 140 g, Plain tomato passata 150 g, Cooking oil 5 g | 29.6 g | 14.1 g | 467 kcal | €1.81 |
| Kidney beans, potatoes and broccoli | Cooked kidney beans, drained 200 g, Boiled potatoes, edible weight 280 g, Cooked broccoli 150 g, Cooking oil 7 g | 23.8 g | 22.8 g | 557 kcal | €1.46 |
| Herbed quark with potato and cucumber | Low-fat quark 220 g, Boiled potatoes, edible weight 280 g, Cucumber 150 g, Wholegrain bread 60 g | 39.6 g | 9.4 g | 562 kcal | €1.39 |
The first dinner offers a practical combination of lentils and rice; the tofu dish has a more concentrated protein anchor and a larger pasta portion. The egg-and-chickpea skillet is vegetarian but not vegan. The kidney-bean bowl is inexpensive when you already have a bag of potatoes; and the quark option uses dairy rather than a plant-only protein source. No dish is represented as the mandatory amount of protein someone needs at dinner.
The ingredient values are taken from the exact product labels and named USDA SR Legacy foods in the complete reference table below. The final figures remain arithmetic estimates for these precisely described foods, not laboratory tests of the cooked mixed dishes. If you have a package in front of you, its nutritional label replaces that row of the model. Do not claim that a ready-made vegetarian burger, a bowl of lentils or all kinds of tofu supply an identical number of grams of protein.
What the protein calculation is built on
A value for a specific product must not be disguised as a property of every product in its category. For instance, dmBio plain tofu reports 12 g protein and 122 kcal per 100 g, whereas dmBio cooked brown lentils report 7.7 g protein and 96 kcal on the label. The dmBio kidney-bean label also reports 7.7 g protein per 100 g, but the beans are drained edible solids, not a full tin including liquid. The quark example comes from the Omira low-fat quark label at 12 g protein and 67 kcal per 100 g.
| Reference food or product | kcal/100 g | Protein/100 g | Fibre/100 g | Official source |
|---|---|---|---|---|
| Cooked brown lentils, drained (dmBio label) | 96 | 7.70 g | 4.60 g | Product label |
| Cooked rice | 130 | 2.69 g | 0.40 g | USDA FDC 169757 |
| Carrot | 41 | 0.93 g | 2.80 g | USDA FDC 170393 |
| Plain tomato passata | 24 | 1.40 g | 1.00 g | Product label |
| Cooking oil | 884 | 0.00 g | 0.00 g | USDA FDC 171413 |
| Plain tofu (dmBio label) | 122 | 12.00 g | 1.90 g | Product label |
| Cooked broccoli | 35 | 2.38 g | 3.30 g | USDA FDC 169967 |
| Dry wholegrain pasta | 345 | 12.00 g | 6.70 g | Product label |
| Cooked chickpeas, drained (Cirio label) | 125 | 6.70 g | 5.80 g | Product label |
| Cooked whole egg, edible weight | 155 | 12.58 g | 0.00 g | USDA FDC 173424 |
| Cooked spinach | 23 | 2.97 g | 2.40 g | USDA FDC 168463 |
| Cooked kidney beans, drained (dmBio label) | 101 | 7.70 g | 6.40 g | Product label |
| Boiled potatoes, edible weight | 86 | 1.71 g | 1.80 g | USDA FDC 170440 |
| Low-fat quark (Omira label) | 67 | 12.00 g | 0.00 g | Product label |
| Cucumber | 15 | 0.65 g | 0.50 g | USDA FDC 168409 |
| Wholegrain bread | 252 | 12.45 g | 6.00 g | USDA FDC 172688 |
The chickpea figure is for Cirio canned chickpeas, not dry chickpeas before soaking. For all the other ingredients, the table names an explicit product or USDA SR Legacy entry, including the cooked egg without shell. In practice two eggs may provide more or less than 100 g edible cooked egg. For a home recipe, weigh the eggs without shells rather than assigning a universal weight per egg.
For example, the specified USDA cooked white rice contains 2.69 g protein and 130 kcal per 100 g, the selected dmBio dry wholegrain pasta contains 12 g and 345 kcal per 100 g, and USDA boiled potatoes without skin contain 1.71 g protein and 86 kcal per 100 g. The reference states are deliberately distinct. Real products, changes in water content and optional seasonings can change the result.
Which dinner provides the most protein for the money?
One way to compare costs is to divide each dinner's assumed ingredient cost by its grams of protein and multiply by 20. This is a normalisation, not an instruction to buy a fraction of a cooked dinner, nor a price for isolated protein powder. The original portion and total cost remain shown next to the comparison.
| Dinner | Protein per dinner | Cost of protein per 20 g (normalised) | Approx. cost for one dinner |
|---|---|---|---|
| Lentil, rice and carrot bowl | 22.2 g | €1.13 | €1.26 |
| Tofu, broccoli and wholegrain pasta | 34.8 g | €0.85 | €1.48 |
| Chickpea, egg and spinach skillet | 29.6 g | €1.22 | €1.81 |
| Kidney beans, potatoes and broccoli | 23.8 g | €1.23 | €1.46 |
| Herbed quark with potato and cucumber | 39.6 g | €0.70 | €1.39 |
On this hypothetical price list, the quark-and-potato meal has one of the lowest euro-per-protein ratios. That does not establish that dairy is always cheaper: quark prices, brand choice and portion sizes could change the order. Similarly, tofu is useful here because the example uses an affordable plain block, not a flavoured ready meal. Recalculate if your local shop offers different pack sizes or discounts.
Protein per euro is one decision tool, not a replacement for checking energy, vegetables, fibre, salt, allergy needs and enjoyment. Some legumes contribute substantial fibre and make a different kind of dinner from the quark plate. A cheap meal that you dislike and throw away is not cheap in practice.
How to assemble each dinner
1. Lentil and rice bowl with tomato and carrot
Use 200 g drained cooked lentils, 150 g cooked rice, 100 g carrot, 130 g passata and 7 g oil. Gently soften the carrot in the measured oil, stir in tomato and hot cooked rice and lentils, then season to taste. For a more stew-like dish, add water; it changes the final weight but not the energy contributed by the listed ingredients. If using dry lentils rather than a ready-cooked can, cook them according to their package and weigh the resulting drained amount. This dinner is vegan if other additions are plant-based.
The key quantity is 200 g edible lentils, not a 200 g unopened can. A package displaying total fill and drained weight provides two different numbers. For other affordable ideas see Mealisa’s cheap healthy dinner guide, which covers broader dinner options rather than these five protein-cost calculations.
2. Tofu, broccoli and wholegrain pasta
Use 180 g plain tofu, 200 g cooked broccoli, 70 g dry wholegrain pasta and 7 g oil. Boil the pasta, steam the broccoli and brown the tofu in the measured oil. Mix with pasta water, pepper and garlic if desired. The 70 g of pasta is measured dry: recording 70 g cooked pasta in the nutrition app instead would undercount the recipe. Even though tofu can be pressed or fried, use the ingredient's original edible quantity for the recipe calculation and account for any fat that remains with the serving.
Plain and flavoured tofu may have markedly different salt, oil and protein values. The model uses the named plain product as a benchmark and is not a ranking of all soy products.
3. Chickpea, egg and spinach skillet
Combine 160 g drained canned chickpeas, 100 g cooked edible egg, 140 g cooked spinach, 150 g plain passata and 5 g oil. Warm chickpeas with passata and spinach, then add properly cooked eggs. Those eggs may be prepared separately and folded into the skillet; the model treats their edible mass as 100 g. If making a tomato-and-egg skillet in a pan, ensure eggs are cooked safely for the intended diner. This meal contains egg and therefore is not vegan.
Use the chickpea can's drained rather than total weight. The complete salt figure depends on the canned product and any additional seasonings; the model does not claim a quantified sodium value for the plate.
4. Kidney beans with potatoes and broccoli
The fourth plate contains 200 g drained cooked kidney beans, 280 g boiled potatoes, 150 g cooked broccoli and 7 g oil. Toss the hot ingredients with herbs, lemon or a little vinegar, without charging an unmeasured dressing to the estimate. It is a different meal from a kidney-bean chili: the potato is the main starch, broccoli adds a large vegetable portion and the bean serving supplies the principal protein.
Canned beans are already cooked, but dry red kidney beans must never be eaten raw or undercooked. Follow reliable boiling instructions for dry beans. The BZfE pulse preparation guidance explains differences between canned and dry pulses.
5. Herbed quark with potato, cucumber and wholegrain bread
Use 220 g plain low-fat quark, 280 g boiled potatoes, 150 g cucumber and 60 g wholegrain bread. Add chopped herbs and water to the quark as needed to make a dip. The quark supplies most of this meal's estimated protein; the potato and bread make it more substantial, while cucumber adds crunch. Cheese, butter and oil are not included in this plate's model, so account for them separately if used. This vegetarian dish contains milk.
If you replace quark with yoghurt, skyr or a plant-based alternative, read the specific label. Products can differ greatly in protein per 100 g, so a one-for-one weight substitution is not necessarily nutritionally equivalent.
A transparent price model, not a supermarket quotation
All costs are illustrative German euros per edible gram. In this example, drained lentils and kidney beans cost about €3.54/kg, plain tofu €4.75/kg, chickpeas €3.60/kg, low-fat quark €2.50/kg, cooked/peeled potatoes €1.30/kg and dry wholegrain pasta €1.80/kg. For the other ingredients the model uses its listed unit rates, for example €2.30/kg for cooked broccoli and €6.00/kg for cooking oil. These are internally consistent calculation inputs, not observed current shelf prices. They may not match package sizes, discounts, drained yields or waste.
Example: 180 g tofu at €4.75/kg contributes €0.855 before rounding. Two hundred grams of broccoli at €2.30/kg contribute €0.46, 70 g dry pasta at €1.80/kg add €0.126, and 7 g oil at €6/kg contribute €0.042. This makes roughly €1.48 for that one plate. Round only at the end; otherwise a basket of many ingredients can differ by several cents.
The cost of buying complete packages is a separate question. A 500 g bag of pasta, 1 kg of potatoes, and a 500 g pot of quark will leave unused quantities after one of these dinners. If you buy all ingredients from zero, the checkout total will be larger than the five per-portion ingredient costs. Do not add the full pack price again to each dinner. Our guide to affordable high-protein foods offers the wider principle for comparing budget protein sources.
Storage, substitutions and nutritional context
Buy, cook and store the ingredients according to their labels. Once cans are open, transfer leftovers to covered food-safe containers, chill promptly and use them within the stated period. The dmBio lentil and kidney-bean pages specify storage requirements after opening; the tofu product also has a limited refrigerated life once opened. Do not keep a cooked grain-and-bean bowl for the whole week on the counter. Cooked rice needs prompt cooling and correct refrigeration.
Swapping brown lentils for kidney beans, or tofu for quark, changes allergens as well as protein. Soy is an allergen; quark contains milk; eggs are an allergen in the skillet; pasta and ordinary bread usually contain gluten. A fully vegan version would replace both the egg and quark dishes with plant-based ingredients, then require fresh calculations, rather than keeping the same totals. If using packaged sauces or salty tofu, check sodium on the label too.
These are illustrative dinners within a wider pattern of meals, not a complete day's nutrition. A single plate does not establish whether a person meets their protein requirements. The high-fibre foods guide covers fibre-rich choices that complement protein, while our portion-size explanation distinguishes standard label servings from actual edible weights. Variety in the rest of the week matters as much as choosing the most favourable figure in the cost column.
Sources and calculation basis
The German Nutrition Society discusses pulses as affordable, nutritious protein foods; the BZfE protein guide explains combinations and labelling. Product-specific protein anchors are linked in the reference table above. The USDA cooked whole egg search record is the basis for the egg amount. Portion quantities and euro prices are explicit illustrative assumptions; food composition values come from the cited label and USDA entries, not from invented nutrient inputs. All plate values are calculated from individual weighed ingredients, with quantities and states explicitly shown.
