Dry pinto beans are the cheapest plant protein at the grocery store, delivering 97.9 grams of protein per dollar based on USDA data and July 2026 prices. Tempeh, the food that sits in the refrigerated case with “protein” printed confidently on the label, finished last in our 18-food sample at 13.2 grams per dollar. That’s a 7.4x spread inside the same category, and the foods marketed hardest as plant protein are the ones stuck at the bottom.
This ranking is the plant-only cut of our full protein per dollar study, which scored the whole store, meat counter included. The animal side of that ranking runs separately, and its winner, bone-in chicken drumsticks at 50.3 grams per dollar, still trails all seven of the dried legumes below. Here’s how the top 12 plant sources shake out:
| Rank | Food | Protein per $1 | Package | Price |
|---|---|---|---|---|
| 1 | Pinto beans (dry) | 97.9 g | 4 lb bag | $3.97 |
| 2 | Black beans (dry) | 81.0 g | 2 lb bag | $2.42 |
| 3 | Brown lentils (dry) | 77.7 g | 16 oz bag | $1.44 |
| 4 | Navy beans (dry) | 75.9 g | 2 lb bag | $2.67 |
| 5 | Green split peas (dry) | 73.9 g | 16 oz bag | $1.42 |
| 6 | Chickpeas (dry) | 56.7 g | 16 oz bag | $1.64 |
| 7 | Red lentils (dry) | 56.0 g | 16 oz bag | $1.94 |
| 8 | Peanut butter | 50.7 g | 40 oz jar | $4.97 |
| 9 | Dry roasted peanuts | 39.8 g | 16 oz jar | $2.78 |
| 10 | Sunflower seed kernels | 31.7 g | 16 oz bag | $2.98 |
| 11 | Canned black beans | 30.1 g | 15.5 oz can | $0.88 |
| 12 | TVP (textured vegetable protein) | 23.4 g | 10 oz bag | $6.30 |

Source audit: joining these 18 foods to the flagship protein dataset yields 13 exact USDA matches and 5 close proxies, with no unresolved rows. Proxy rows are not independently re-verified. TVP is a proxy: USDA FoodData Central publishes no textured vegetable protein record at all, so the row is sourced to the manufacturer label at 52.17 grams per 100 grams. Prices are dated July 2026 observations. Full methodology at /methodology/.
The six foods below the cutoff, in order: canned kidney beans at 23.4 grams per dollar, canned chickpeas at 22.0, frozen shelled edamame at 18.0, almonds at 14.8, extra firm tofu at 13.6, and tempeh at 13.2.
What’s the cheapest plant-based protein?
Dried legumes, and it isn’t close. The top seven spots all belong to the dry goods aisle, running from red lentils at 56.0 grams per dollar up to pinto beans at 97.9. One $3.97 bag of pintos holds roughly 389 grams of protein, almost eight times the FDA’s 50 gram Daily Value, and it’ll wait patiently in your pantry until you’re ready. That same bag is carrying 70.8 grams of fiber per dollar alongside the protein, which is how beans end up taking the combined protein-and-fiber ranking as well.
Lentils are a practical starting point for anyone who finds dry beans intimidating, because red lentils skip the soak entirely and melt into whatever you’re cooking. A pot of lentil curry is the easiest way to cash in that 56.0 grams per dollar, and split pea soup runs the same play with split peas at 73.9.
Why do tofu and tempeh rank so low?
Because you’re paying brand-name prices for water and refrigeration. A $2.92 block of extra firm tofu holds about 40 grams of protein. A $1.44 bag of brown lentils holds about 112 grams. Half the price, nearly triple the protein, and nobody had to keep it cold on the truck. Priced by the dollar it’s 77.7 grams as lentils against 13.6 as tofu, the same view we laid out across the 15 cheapest protein foods in the store.
Tempeh tells the same story at $3.48 for an 8 ounce pack. TVP lands at 23.4 grams per dollar because the 10 ounce bag costs $6.30 at the store we priced, even though it is the densest thing in the sample at 52.17 grams of protein per 100 grams. That density figure comes off the manufacturer label rather than a USDA record, because USDA publishes none for TVP. None of this makes soy foods bad. Sheet pan ginger tofu shows how tofu can earn its place for texture and flavor rather than thrift. And if you want soy in its strangest breakfast form, the guide to natto explains the sticky fermented version. Just don’t buy tofu believing it’s the budget move. The budget move is beans.
Are canned beans a decent middle ground?
Decent, yes. A $0.88 can of black beans delivers 30.1 grams of protein per dollar, which more than doubles tofu and beats every nut here except peanuts. Canned kidney beans (23.4) and canned chickpeas (22.0) trail behind. Set that against dry black beans at 81.0 and you can see exactly what the can charges you; we broke that gap down in canned vs dry beans. But on a night when black bean tacos need to hit the table before anyone starts negotiating for cereal, the can earns its keep.
Is peanut butter actually a good protein buy?
By this metric, yes. The $4.97 jar, all 40 ounces of it, works out to 50.7 grams of protein per dollar, which beats every plant food here except the dried legumes. It also wins the ranking of protein that needs no cooking outright, because nothing else you can eat straight from the container comes close. That jar holds roughly 252 grams of protein total, which is a lot of sandwiches. Dry roasted peanuts land at 39.8 and sunflower seed kernels at 31.7, both respectable for things you eat by the handful.
Almonds are the trap. At $6.47 for a 16 ounce bag they deliver 14.8 grams of protein per dollar, barely ahead of tofu. Eat almonds because you like almonds. If you want a snack that pulls real protein weight for pocket change, crispy roasted chickpeas start from a $1.64 bag that carries 56.7 grams per dollar.
One fair objection to a plant-only ranking: these foods vary in protein quality, and a straight per-gram list ignores that. So we reran it with digestibility factored in, protein per dollar adjusted for quality using DIAAS, and beans still landed on top even after the haircut. The pattern matches everything else we’ve priced: the cheapest protein in the store doesn’t come in branded packaging, it comes in a clear bag with a bland label. For the full playbook on turning these numbers into actual dinners, start with our high protein on a budget guide. The high-protein budget meals page turns the ranking into plates with a price per 30 grams, and what 50 grams of protein costs per day runs the whole-day math.




