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. 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 | Canned kidney beans | 23.4 g | 15.5 oz can | $0.98 |

Source: USDA FoodData Central + single-store prices, July 2026. Full methodology at /methodology/.
The six foods below the cutoff, in order: TVP at 22.5 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.
Lentils are where I’d point 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.
Tempeh tells the same story at $3.48 for an 8 ounce pack. Even TVP, which is basically protein confetti, lands at just 22.5 grams per dollar because the 10 ounce bag costs $6.30 at the store we priced. None of this makes soy foods bad. Sheet pan ginger tofu is in my regular rotation because it tastes great, not because it’s thrifty. 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?
Better than I expected. 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. 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, and if you’re wondering what a whole day of protein costs at these prices, we ran that math in what 50 grams of protein costs per day.