Not all beans are created equal. When people say "just eat beans for protein," they're glossing over the fact that the protein content varies wildly between different types. A cup of cooked soybeans has 29g of protein. A cup of cooked green peas has 8g. That's a massive difference when you're trying to hit a daily target.
I've ranked every common bean and legume by protein per cup (cooked), because that's what actually matters when you're planning meals. I've also included fiber and iron, because those are two nutrients that beans deliver better than almost any other food.
The Complete Ranking
Tier 1: The Protein Powerhouses (20g+ per cup)
1. Soybeans (Edamame) - 29g protein per cup
The undisputed champion. Soybeans are the only common legume that's a complete protein, containing all nine essential amino acids. They're also packed with 10g fiber and 8.8mg iron per cup. Edamame (young soybeans) is the easiest way to eat them - steam and sprinkle with salt.
2. Lentils (all varieties) - 18g protein per cup
Lentils are the workhorse of vegetarian protein. Red lentils cook in 15 minutes and break down into creamy dal. Green and brown lentils hold their shape for salads and soups. Black lentils (urad dal) are the base of the legendary dal makhani. All varieties give you about 18g protein, 15g fiber, and 6.6mg iron per cup. Moong dal tadka is probably the simplest, most satisfying way to eat lentils on a regular basis.
3. Black Beans - 15g protein per cup
A staple of Mexican and Latin American cooking. Black beans are incredibly versatile - enchiladas, burritos, soups, salads, even brownies. Our black bean enchiladas use them as the star of the show, delivering 24g protein per serving when combined with cheese and tortillas. They also bring 15g fiber and 3.6mg iron per cup.
Tier 2: The Solid Performers (12-17g per cup)
4. Kidney Beans (Rajma) - 15g protein per cup
Kidney beans are the backbone of rajma masala, one of the most popular protein-rich dishes in Indian cuisine. They're hearty, satisfying, and hold their shape well in curries and chilis. 13g fiber and 5.2mg iron per cup make them a nutritional powerhouse beyond just protein.
5. Chickpeas (Chana) - 15g protein per cup
The most versatile legume in my kitchen. Roast them for snacks, blend them into hummus, curry them into chana masala, or shape them into falafel. Chickpeas have 12g fiber and 4.7mg iron per cup. They're also the base of besan (chickpea flour), which shows up in chilla, pakoras, and other Indian staples.
6. Navy Beans (White Beans) - 15g protein per cup
Small, creamy, and mild-flavored. Navy beans are excellent in soups and stews where they partially break down and thicken the broth. They have the highest fiber content of any common bean at 19g per cup, plus 4.3mg iron.
7. Pinto Beans - 15g protein per cup
The classic refried bean. Mash them, whole-cook them, or use them in burritos and bowls. 15g fiber and 3.6mg iron per cup. They're interchangeable with kidney beans in most recipes.
8. Black-Eyed Peas (Lobia) - 13g protein per cup
Popular in Southern US and Indian cooking. They cook faster than most beans (no soaking required if you're short on time) and have a slightly earthy, nutty flavor. 11g fiber and 4.3mg iron per cup.
Tier 3: The Supporting Cast (Under 12g per cup)
9. Lima Beans - 12g protein per cup
Creamy and starchy. Not the most popular bean, but they're great in soups and casseroles. 9g fiber and 4.5mg iron per cup.
10. Green Peas - 8g protein per cup
Technically a legume, though most people think of them as a vegetable. They're a nice protein addition to rice dishes, pasta, and stir fries, but don't rely on them as your primary protein source.
11. Mung Beans (Whole Moong) - 14g protein per cup
When sprouted, mung beans become even more nutritious and their protein becomes more bioavailable. They're the base of moong dal and also great in salads and stir fries.
The Iron Advantage
One thing that doesn't get enough attention: beans are one of the best plant sources of iron. This matters for vegetarians because we don't get heme iron from meat. The iron in beans is non-heme, which is less bioavailable, but you can boost absorption by eating beans with vitamin C-rich foods. Squeeze lemon over your dal, add tomatoes to your rajma, or have an orange after a bean-heavy meal.
How to Maximize Protein from Beans
- Pair with grains. Beans + rice, beans + roti, beans + tortilla. The grain fills in the amino acids that beans are low in (methionine), creating a complete protein.
- Double up on legumes. Our protein dal fry combines multiple dal varieties for a more complete amino acid profile in a single dish.
- Add dairy. A dollop of yogurt or a sprinkle of paneer on your bean dishes adds complete protein and boosts the overall protein quality of the meal.
- Sprout when possible. Sprouted beans have higher protein bioavailability and are easier to digest. Moong and chana sprout easily at home in 2-3 days.
- Cook from dried. Dried beans are cheaper than canned and often have better texture. A pressure cooker cuts cooking time dramatically.
Quick Reference Chart
| Legume | Protein/cup | Fiber/cup | Iron/cup |
|---|---|---|---|
| Soybeans | 29g | 10g | 8.8mg |
| Lentils | 18g | 15g | 6.6mg |
| Black Beans | 15g | 15g | 3.6mg |
| Kidney Beans | 15g | 13g | 5.2mg |
| Chickpeas | 15g | 12g | 4.7mg |
| Navy Beans | 15g | 19g | 4.3mg |
| Pinto Beans | 15g | 15g | 3.6mg |
| Mung Beans | 14g | 15g | 2.8mg |
| Black-Eyed Peas | 13g | 11g | 4.3mg |
| Lima Beans | 12g | 9g | 4.5mg |
| Green Peas | 8g | 9g | 2.5mg |
Beans and legumes are the foundation of vegetarian protein eating. They're cheap, they store forever (dried beans last years), they're loaded with fiber and iron, and they taste incredible when cooked with proper spices and technique. Pick 3-4 from this list, keep them in rotation, and you'll never struggle for protein again.