Green peas, edamame, and lentils top the list of vegetables with the most protein. A single cup of cooked lentils delivers about 18 grams of protein, roughly the same as three eggs. But beyond the obvious legume powerhouses, several everyday vegetables pack more protein than you might expect, and the differences between them matter if you’re trying to hit a daily protein goal.
The Highest-Protein Vegetables by Serving
Not all vegetables are created equal when it comes to protein. Most fresh or frozen vegetables provide only about 2 grams per half-cup serving. That’s fine as a side dish, but it won’t move the needle on your daily intake. The real standouts cluster in a few specific categories: legumes, soy-based foods, and certain starchy vegetables.
Here’s how the top options compare per cooked cup:
- Lentils: 18 grams
- Edamame (shelled): 18.4 grams
- Black, kidney, or navy beans: roughly 16 grams
- Green peas: 8.6 grams
- Lima beans: about 14 grams
- Corn: 5 grams
- Cooked spinach: 5.3 grams
- Cooked broccoli: 3.7 grams
- Baked russet potato (large): 7.9 grams
The gap between a cup of lentils and a cup of broccoli is enormous. You’d need roughly five cups of cooked broccoli to match the protein in a single cup of lentils. That doesn’t make broccoli useless for protein, but it puts the numbers in perspective.
Legumes: The Clear Winners
Lentils, beans, and peas belong to the legume family, and they dominate every protein-per-serving ranking for plant foods. Lentils are the most convenient of the bunch. They cook in about 20 minutes without soaking, and their 18 grams per cup rivals many animal protein sources. Black beans, kidney beans, and cannellini beans all land in a similar range, around 15 to 16 grams per cooked cup.
Green peas sometimes get overlooked because people think of them as a basic side vegetable. At 8.6 grams per cup, they carry more than double the protein of most other non-legume vegetables. Frozen peas are just as nutritious as fresh ones, making them an easy addition to pasta, rice dishes, or soups.
Edamame and Soy
Edamame, which is just young soybeans in the pod, is one of the few plant foods that provides a complete set of essential amino acids in meaningful amounts. One cup of shelled edamame delivers 18.4 grams of protein. Soy also scores exceptionally well on protein quality tests that measure how efficiently your body can use the amino acids: soy protein rates between 80% and 93% digestibility, comparable to many animal proteins.
If you don’t love edamame on its own, tofu is another option. It provides about 3 grams per ounce, so a typical serving of 4 to 5 ounces gives you 12 to 15 grams. Soy milk adds 7 grams per cup, which makes it the highest-protein plant milk by a wide margin.
Leafy Greens and Cruciferous Vegetables
Spinach and broccoli often appear on “high-protein vegetable” lists, and they do have a respectable protein-to-calorie ratio. Cooked spinach provides 5.3 grams per cup for only 41 calories. Cooked broccoli offers 3.7 grams per cup at 55 calories. Per calorie, these are solid numbers.
The catch is volume. A cup of cooked spinach starts as a very large pile of raw leaves. To get a meaningful amount of protein from greens alone, you’d need to eat them in quantities that aren’t realistic for most meals. Think of spinach and broccoli as contributors that add a couple of grams here and there, not as your primary protein source.
Starchy Vegetables Worth Noting
Potatoes rarely show up in protein conversations, but a large baked russet potato contains 7.9 grams of protein. That’s nearly as much as a cup of green peas. Sweet potatoes trail behind at around 4 grams for a large one. Corn provides about 5 grams per cup. None of these will replace a serving of beans, but if you’re already eating potatoes or corn as a carbohydrate source, the protein is a useful bonus that adds up over the course of a day.
How Well Your Body Uses Plant Protein
Protein quantity is only part of the picture. Your body also needs all nine essential amino acids in the right proportions to build and repair tissue effectively. Most individual plant foods are lower in one or two of these amino acids compared to animal sources. Beans tend to be lower in one amino acid while grains are lower in a different one, which is why rice and beans is such a classic combination: they fill in each other’s gaps.
That said, you don’t need to combine them at the same meal. As long as you eat a variety of protein-rich plant foods throughout the day, your body gets what it needs. Soy is the notable exception that provides all essential amino acids on its own in strong proportions.
Digestibility also varies. Soy protein is absorbed almost as efficiently as animal protein. Pea protein scores lower, around 60% to 70% on standard digestibility scales. This means you may need to eat somewhat more total plant protein than animal protein to get the same functional benefit. A common guideline is to aim about 10% to 20% higher than you would with animal sources if plants are your primary protein.
Practical Ways to Add More
If you’re looking to boost your vegetable protein intake without overhauling your diet, a few simple swaps make a noticeable difference. Adding a half-cup of lentils to a soup or salad contributes about 9 grams. Swapping regular pasta for a lentil or chickpea-based version can double the protein per serving. Keeping frozen edamame and peas in your freezer gives you high-protein vegetables that go from frozen to plate in under five minutes.
Hummus, made from chickpeas, provides about 7 grams per third of a cup. Spreading it on toast or using it as a dip is one of the easiest ways to sneak in extra plant protein between meals. Refried beans add 6 grams per half cup and work as a base for quick burritos or a side dish.
The biggest takeaway is that legumes and soy products sit in a completely different tier than other vegetables. If your goal is to get serious protein from plants, those are where your attention should go. Everything else, from spinach to broccoli to potatoes, is a helpful supporting player that adds a few grams at a time.

