Vegetables are primarily a carbohydrate food. A typical half-cup serving of cooked non-starchy vegetables contains about 5 grams of carbohydrate and roughly 2 grams of protein. Starchy vegetables like potatoes and corn pack even more carbs, around 15 grams per serving, while their protein stays similarly low. So while vegetables do contain small amounts of protein, their main macronutrient contribution to your diet is carbohydrate.
That said, the carbohydrates in vegetables behave very differently from the carbs in bread or candy. And some vegetables edge closer to meaningful protein sources than others. Understanding these differences can help you build meals that actually work for your goals.
Why Vegetables Count as Carbohydrates
The carbohydrates in vegetables come in three forms: natural sugars (like fructose and glucose), starch, and fiber. The balance between these three varies dramatically depending on the vegetable. Raw spinach, for instance, contains only 0.53 grams of total sugar per 100 grams, with most of its carbohydrate coming from fiber (3.2 grams). Raw carrots, on the other hand, carry 4.86 grams of sugar per 100 grams, mostly from sucrose, plus 2.88 grams of fiber. A boiled white potato is different again: very little sugar (0.51 grams) but a large amount of starch, which is why potatoes feel more like a “carb” food than a salad does.
Fiber is technically a carbohydrate, but your body can’t digest it into glucose. It passes through your system largely intact, which is why some people subtract fiber when calculating “net carbs.” A practical rule: if a food has more than 5 grams of fiber, you can subtract half the fiber from the total carbohydrate count to estimate the carbs that actually affect your blood sugar.
Starchy vs. Non-Starchy Vegetables
This is where the carbohydrate question gets practical. Non-starchy vegetables like broccoli, spinach, peppers, zucchini, and leafy greens are so low in digestible carbohydrate that most eating plans treat them almost as “free” foods. A full cup of raw leafy greens or a half-cup of cooked non-starchy vegetables delivers only about 5 grams of carbohydrate, much of it fiber. Most non-starchy vegetables have a glycemic index below 20, meaning they barely move your blood sugar at all.
Starchy vegetables are a different story. A half-cup of corn, green peas, or sweet potato contains roughly 15 grams of carbohydrate per serving. A baked potato has a glycemic index of 85, which puts it in the same range as white bread. Cassava and plantains are similarly carb-dense. These vegetables are nutritious, but if you’re managing blood sugar or counting carbs, they need to be portioned more carefully. Carrots fall somewhere in the middle, with a glycemic index of 39, and they’re often miscategorized as high-carb when they’re actually quite moderate.
How Much Protein Vegetables Actually Provide
Most vegetables provide about 2 grams of protein per serving (half a cup cooked, or one cup raw leafy greens). That’s not nothing, but it’s a fraction of what you’d get from an egg (6 grams), a cup of milk (8 grams), or a palm-sized piece of chicken (roughly 25 grams). You would need to eat an unrealistic volume of broccoli or spinach to hit your daily protein needs from vegetables alone.
The protein that vegetables do contain is also lower in quality compared to animal sources. Protein quality is measured by how well your body can digest and use the amino acids in a food. Animal proteins score nearly 100% on digestibility scales, while plant-based protein sources average closer to 90%, partly because plants contain compounds that interfere with absorption and partly because they tend to be low in one or more essential amino acids. Broccoli protein, for example, provides good amounts of the amino acids arginine and methionine, but no single vegetable delivers a complete amino acid profile the way meat or eggs do.
Legumes Blur the Line
If you’ve heard that beans and lentils are high in protein, that’s true, but they’re also high in carbohydrate. Lentils average about 51 grams of carbohydrate per 100 grams (dry weight), common beans about 53 grams, and chickpeas about 54 grams. At the same time, a half-cup of cooked edamame provides 8 grams of protein, making legumes one of the best plant-based protein sources available.
This dual nature is why the USDA has historically counted legumes in both the vegetable group and the protein group. They genuinely belong in both categories. If you’re vegetarian or trying to increase protein intake without meat, legumes are the plant food that gets you closest to meaningful protein numbers. Just be aware that they come packaged with a substantial carbohydrate load, which matters if you’re tracking macros.
Putting It Together on Your Plate
For most people, the practical takeaway is straightforward. Non-starchy vegetables are a low-calorie, low-carb source of fiber, vitamins, and minerals. Eat them generously without worrying much about macronutrient math. Starchy vegetables like potatoes, corn, and peas contribute meaningful carbohydrates and should be treated more like a grain or rice in terms of portion planning.
Neither category is a reliable protein source on its own. A half-cup of vegetables gives you about 2 grams of protein, so you’ll need dedicated protein foods (meat, fish, eggs, dairy, legumes, or soy products like tofu and edamame) to meet your needs. Current U.S. dietary guidelines emphasize including high-quality protein at every meal alongside vegetables, fruits, healthy fats, and whole grains, with an emphasis on whole, minimally processed foods across all categories.
If you’re tracking macros precisely, count most vegetables as carbohydrate with a small protein bonus. If you’re just trying to eat well, fill half your plate with non-starchy vegetables and don’t overthink the label. Their real value is the fiber, micronutrients, and volume they add to your meals for very few calories.

