Smooth reduced-fat peanut butter has the most protein of any legume we hold: 25.9g per 100g. Count protein per 100 calories instead and it drops to 11th of 13, at 4.98g. Firm tofu takes first place on that count, at 12.0g of protein per 100 calories — 2.4 times what peanut butter gives you for the same calories. All of these numbers are taken from USDA FoodData Central (peanut butter is FDC 172458, firm tofu FDC 172475).
Peanuts are legumes, not nuts, which is why USDA files peanut butter next to beans and lentils. That filing is what makes this list interesting: one of the most calorie-dense foods in the kitchen sits in the same group as some of the leanest.
Which legume has the most protein?
Per 100g, reduced-fat peanut butter at 25.9g. Per 100 calories, firm tofu at 12.0g. The two lists below use the same 13 foods. Only the unit changes.
| Food (USDA description) | Protein /100 kcal | Protein /100g | Calories /100g |
|---|---|---|---|
| Tofu, raw, firm, prepared with calcium sulfate | 12.01g | 17.3g | 144 |
| MORI-NU, Tofu, silken, firm | 11.13g | 6.9g | 62 |
| Tempeh | 10.57g | 20.3g | 192 |
| Lentils, mature seeds, cooked, boiled, with salt | 7.91g | 9.02g | 114 |
| Peas, split, mature seeds, cooked, boiled, with salt | 7.19g | 8.34g | 116 |
| Beans, kidney, red, mature seeds, cooked, boiled, with salt | 6.83g | 8.67g | 127 |
| Beans, black, mature seeds, cooked, boiled, with salt | 6.71g | 8.86g | 132 |
| Beans, pinto, mature seeds, cooked, boiled, with salt | 6.30g | 9.01g | 143 |
| Beans, navy, mature seeds, cooked, boiled, with salt | 5.88g | 8.23g | 140 |
| Chickpeas (garbanzo beans, bengal gram), mature seeds, cooked, boiled, with salt | 5.40g | 8.86g | 164 |
| Peanut butter, smooth, reduced fat | 4.98g | 25.9g | 520 |
| Peanuts, virginia, raw | 4.48g | 25.2g | 563 |
| Hummus, commercial | 3.28g | 7.78g | 237 |
Silken tofu goes from last to second
Firm silken tofu has the least protein per 100g of all 13 legumes — 6.9g — and the second-most per 100 calories, at 11.13g. It is mostly water. That makes it weak by weight and strong by calories, because water adds grams but no calories.
Peanut butter is the mirror image. It holds very little water and a lot of fat, so it is first by weight and near the bottom by calories. Neither food changed. What changed is what you are counting against.
So which count should you use? If calories do not matter to you — you are trying to gain weight, or you just want a lot of protein in a small spoonful — go by the per-100g column. If you are watching calories, the per-100-calorie column is the honest one, and peanut butter is a poor way to get protein.
Which beans have the most protein?
Among cooked beans and pulses, boiled lentils lead at 7.91g of protein per 100 calories. Chickpeas come last of the seven at 5.40g. By weight the seven sit very close together, between 8.23g and 9.02g per 100g, so for beans the calorie count is the only one that separates them.
Lentils give 59% more protein per calorie than peanut butter. A 200g bowl of boiled lentils is 228 calories and 18.0g of protein. To get the same protein from reduced-fat peanut butter you would eat 70g of it, which is 362 calories.
The fiber leaders are a different list
Boiled navy beans carry the most fiber of the 12 legumes that have a fiber value — 10.5g per 100g — while firm tofu, the protein-per-calorie leader, has 2.3g. Tempeh has no fiber value in its USDA row, so it is left out of this count rather than shown as zero.
| Food (USDA description) | Fiber /100g | Protein /100 kcal |
|---|---|---|
| Beans, navy, mature seeds, cooked, boiled, with salt | 10.5g | 5.88g |
| Beans, pinto, mature seeds, cooked, boiled, with salt | 9g | 6.30g |
| Beans, black, mature seeds, cooked, boiled, with salt | 8.7g | 6.71g |
| Peanuts, virginia, raw | 8.5g | 4.48g |
| Peas, split, mature seeds, cooked, boiled, with salt | 8.3g | 7.19g |
| Lentils, mature seeds, cooked, boiled, with salt | 7.9g | 7.91g |
| Tofu, raw, firm, prepared with calcium sulfate | 2.3g | 12.01g |
| MORI-NU, Tofu, silken, firm | 0.1g | 11.13g |
If you want protein and fiber from the same food, boiled lentils are the best compromise in this data: fourth on protein per calorie and 7.9g of fiber per 100g. Tofu wins on protein and gives you almost no fiber.
What we left out, and why
Soy sauce is not in these tables, even though USDA files it as a legume product and it would top the per-calorie list at 17.5g of protein per 100 calories. Nobody eats 100 calories of soy sauce. It is a salty seasoning used a teaspoon at a time, so ranking it as a protein source would be true on paper and useless on a plate.
The bean and lentil rows are cooked and boiled with salt, the tofu and peanut rows are raw, and hummus is a shop-bought product with oil and tahini in it — which is why it comes last. The silken tofu row is one brand, MORI-NU, because that is the row USDA publishes. We hold no edamame row among these 13, so none is ranked here.
Where to go from here
The full numbers for each food sit on our pages for firm tofu, lentils and peanut butter. Two head-to-heads are worth a look if you are choosing between them: lentils vs tofu and tempeh vs tofu.
The hard part is the spoon
Peanut butter is where most people's protein maths goes wrong. A "spoonful" can be 15g or 40g depending on the spoon and the mood, and at 520 calories per 100g that gap is about 130 calories.
Sunn is built for exactly that kind of guess. Tell it "toast with a big spoon of peanut butter" in WhatsApp and it logs a sensible amount, then asks one quick question only if the answer would really change your day. No weighing, no searching a database, no app to open.
Written by Espen Opdahl
Founder of Sunn. Building AI-powered nutrition coaching to make healthy eating simple. Nutrition data sourced from the USDA FoodData Central database.
Medical disclaimer: This content is for informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider before making changes to your diet or exercise routine.