Skip to content
Get the app
Protein

Vegetarian Protein Sources Ranked by Protein per 100 Calories

By CalorTracker Team8 min read

Vegetarian Protein Sources Ranked by Protein per 100 Calories

Most "best vegetarian protein" lists rank foods by grams of protein per 100 g. That answers a question almost nobody asks, because nobody eats 100 g of pumpkin seeds the way they eat 100 g of lentils. If you track calories, the more useful question is how much protein do you get for the calories you spend?

This post ranks fifteen vegetarian foods on exactly that, using the values in our nutrition database, which come from USDA FoodData Central. Every number in the table below is computed from those entries, not estimated.

How the ranking works

For each food we take two USDA values per 100 g: calories and protein. Then:

  • Protein per 100 calories = protein (g) divided by calories, times 100. Higher means more protein for the same energy.
  • Grams of food for 20 g of protein = 20 divided by protein per 100 g, times 100.
  • Calories for 20 g of protein = that weight multiplied by the food's calories per gram.

Twenty grams is simply a round number that makes the foods comparable. It is not a target or a recommendation. To see what your own daily protein works out to, use the protein calculator.

The table

All rows are the USDA entries as we list them: cooked where the food is normally eaten cooked, as the entry describes it otherwise. "Plant-only" means the food contains no dairy or egg.

Foodkcal per 100 gProtein per 100 g (g)Protein per 100 kcal (g)Food for 20 g proteinkcal for 20 g proteinPlant-only
Cottage Cheese (2% Fat)8110.4512.9191 g155No
Tofu (Firm)14417.2712.0116 g167Yes
Edamame12111.919.8168 g203Yes
Greek Yogurt9799.3222 g216No
Hard-Boiled Egg15512.588.1159 g246No
Lentils1169.027.8222 g257Yes
Kidney Beans (Cooked)1278.676.8231 g293Yes
Black Beans1328.866.7226 g298Yes
Pinto Beans (Cooked)1439.016.3222 g317Yes
Pumpkin Seeds55930.235.466 g370Yes
Chickpeas1648.865.4226 g370Yes
Peanuts (Dry-Roasted)58724.354.182 g482Yes
Quinoa1204.43.7455 g545Yes
Almonds57921.153.795 g548Yes
Hummus2437.353.0272 g661Yes

What the table shows

Three foods sit clearly on top. Cottage cheese, tofu and edamame each need roughly 155 to 205 calories to reach 20 g of protein. Greek yogurt and hard-boiled eggs follow at about 215 to 245.

Tofu is the strongest plant-only row. At 12.0 g of protein per 100 kcal it sits just behind the best dairy entry, and it reaches 20 g of protein for the fewest calories of any plant-only row (167). The USDA entry is firm tofu set with calcium sulfate; softer and silken tofu carry more water and less protein per gram, so check the label of the pack you buy.

Lentils and beans form the middle. Lentils need about 257 calories for 20 g; the beans need 293 to 370. They also bring a lot of fibre, which is a separate reason to eat them, but it is not what this table measures. If you are choosing between two similar legumes, the chickpeas vs lentils comparison puts their per-100 g numbers side by side.

Seeds and nuts look different depending on the column. Pumpkin seeds have the most protein per 100 g of anything in the table (30.23 g), yet per calorie they land in the middle, because 100 g carries 559 kcal. That is the whole point of the per-calorie view: they are a compact protein source, not a light one. A small handful works well as a topper; as the main protein of a meal the calories add up fast.

Quinoa, almonds and hummus are side dishes for protein. Reaching 20 g from them costs 545 to 661 calories. They can still belong in your day for other reasons, but they are not where you get protein cheaply in calorie terms.

A caveat: this ranks quantity, not quality

The table counts grams of protein. It says nothing about the amino acid profile of each food or how well the body uses it, and we do not rank on either. If you eat a varied diet, that rarely matters for tracking. If you are planning a strict plant-only diet around specific protein targets, a registered dietitian is the right person to ask, not a calorie tracker.

Two other limits are worth knowing:

  • Dry versus cooked. Lentils and beans soak up water as they cook, which is why 100 g of cooked lentils has 116 kcal while the same weight dry has about three times as much. Compare cooked rows with cooked rows. Our high-protein plant foods list ranks by protein per 100 g and carries a note on this for the same reason.
  • One entry per food. Brands of tofu, yogurt and hummus differ from the USDA reference entries. Treat the table as a guide to the order, and read the label for the exact figure when it matters.

Turning the ranking into meals

Ranking foods is only useful if it changes what you put on the plate. Three patterns work well for most people tracking calories:

  1. Anchor each meal on one top-of-the-table food. A tub of cottage cheese, a block of tofu or a bag of edamame carries most of the protein, and the rest of the plate is whatever you like.
  2. Use the middle rows as the base. Lentils or beans in a stew or a salad add protein and bulk at a moderate calorie cost.
  3. Treat the bottom rows as seasoning. A spoon of hummus or a few almonds adds flavour and a little protein without being asked to do the heavy lifting.

If your snacks are the weak point, the high-protein snacks under 200 calories post applies the same per-calorie thinking to snack-sized portions. For the bigger picture on setting protein alongside carbs and fat, see how to start tracking macros.

Logging these foods without the maths

You do not have to repeat the arithmetic above every day. Search the food in CalorTracker, or photograph the plate and adjust the portion if the estimate looks off. The protein for the amount you actually ate is added to your daily total, so you can see at a glance whether the day is on track.

Common questions

Which vegetarian food has the most protein per calorie?

In this table, cottage cheese (12.9 g per 100 kcal), then tofu (12.0 g). The best plant-only entry is tofu.

Are nuts and seeds a good vegetarian protein source?

They contain a lot of protein per gram, but also a lot of calories. Pumpkin seeds give 5.4 g of protein per 100 kcal, which is mid-table. They suit small amounts better than main-meal amounts if you are watching calories.

Does cooking change the protein per calorie?

Mostly through water. Cooked legumes and grains hold water, so per 100 g they show fewer calories and less protein than the dry food. The protein-per-calorie ratio changes less than either figure on its own, but compare like with like.

Where do these numbers come from?

From the USDA FoodData Central entries stored with each food page, linked from the table. The ranking and the 20 g columns are arithmetic on those values.

Sources

  1. USDA FoodData Central

This is general information, not medical advice. If you are pregnant, under 18 or managing a health condition, talk to a doctor or registered dietitian before changing how you eat.

New guides by email, once a month

At the start of each month we send one email listing what is new on CalorTracker: blog posts, food pages and calculators. That is the only email this sign-up sends.

We send a link to confirm first, and nothing else until you click it. Every email has a one-click unsubscribe. What we keep, and for how long, is in our privacy policy.

Have a CalorTracker account? If you agreed to email updates when you set it up, this email already comes to you, and signing up here as well still sends it once.

More from the blog

Track what you eat without the typing

Snap a photo, say what you ate or type it, and CalorTracker's AI estimates the calories and macros for you to check. Free to start, no card needed to explore.

Start free on the web

All posts