nutrition

Protein per Dollar: The Cheapest Protein Sources, Ranked

A dollar of dry pinto beans buys 97.9g of protein. A dollar of bacon buys 9.2g. All 49 grocery foods ranked by protein per dollar, at July 2026 prices.

Published Updated

Source: Daily Life Hacks The Protein per Dollar Index: 49 Protein Sources Ranked by Cost Efficiency (2026) (49 rows, prices observed 2026, United States). Primary nutrition source: USDA FoodData Central . TVP is a proxy: USDA publishes no textured vegetable protein record at all, so the row is sourced to the manufacturer label at 52.17 grams per 100 grams. Current row-level source audit: 39 exact USDA matches and 10 close proxies, with no unresolved rows; proxy rows are not independently re-verified. Full methodology and the raw CSV are public.

Dried pinto beans delivered the most protein per dollar in our 49-food July 2026 grocery sample, at about 98 grams. Bacon sits at the bottom of the same ranking at 9. That’s the same nutrient at more than ten times the price, and the expensive version is the one everyone photographs on burgers.

Here’s where those numbers come from. Last week I ranked 53 foods by fiber per dollar and the dry goods aisle embarrassed everything else in the store. Several readers asked the obvious follow-up: does the same thing happen with protein? So I built the second spreadsheet. Forty-nine common grocery foods, current prices, one division problem, and a row-level source audit that separates 39 exact USDA matches from 10 close proxies, with no unresolved entries left. The result is a full ranking of the cheapest protein sources in the store, and yes, the beans repeat.

What is the cheapest source of protein per dollar?

Dried pinto beans, at 97.9 grams of protein per dollar. A $3.97 four pound bag holds roughly 389 grams of protein. Whole wheat flour comes in second at 96.0, dry black beans third at 81.0.

The cheapest animal protein in the same sample is chicken drumsticks, at 50.3 grams per dollar, and that’s after subtracting the bone. Eggs land at 34.

Bacon finishes 49th out of 49 at 9.2 grams per dollar. Same nutrient as the pinto beans, more than ten times the price.

How we ran the numbers

Same playbook as the fiber study, because it survived an audit and I’m not messing with it:

  • Protein content: the current row-level source audit links 39 of 49 values to exact USDA FoodData Central records and 10 to close proxies. No rows are left unresolved. A proxy differs from the priced food in a material detail such as form, cut, or preparation, so it is not an exact match and is not counted as independently re-verified. TVP is the clearest example: USDA publishes no TVP record at all, so the row now carries 52.17 grams per 100 grams straight from the manufacturer label, up from the 50.0 an earlier label reported. The CSV documents every status and the reason for each proxy result.
  • Prices: for the 23 foods that also appeared in the fiber study, we reused the prices audited on July 4, 2026. New items use May 2026 BLS average-price series where available and July 2026 Walmart national listings for the rest. BLS average prices and retailer listings are different kinds of price evidence, so every CSV row labels which basis it uses instead of pretending they are interchangeable.
  • The math: total grams of protein in the package, divided by the package price. For bone-in items we only counted the edible portion, using USDA refuse data: a raw whole chicken yields about 61 percent edible meat and skin, drumsticks lose 33 percent to bone, and a rotisserie chicken gives up 33 percent to bone and 13 percent to skin if you’re eating the meat.

One basis rule matters enough to spell out. Everything is measured as purchased: raw meat, dry beans, the package in your cart. Cooked chicken shows more protein per 100 grams than raw chicken because roasting drives off water, not because protein appeared from nowhere. Ranking cooked values against raw prices is how these comparisons usually go wrong, so we didn’t.

The full dataset is public. You can download the raw CSV here, read the site’s grocery-data methodology, and check the calculations yourself. The protein and fiber value planner lets you compare any two rows or build a basket without wrestling the CSV. The weekly food-cost planner takes the next step and scales our five audited 50-gram days for the number of people you’re feeding.

Source audit updated July 2026: 39 exact USDA matches and 10 close proxies, with no unresolved rows. Proxy rows are not independently re-verified. Next scheduled price re-audit: October 2026. Monthly BLS checks flag drift in between.

Horizontal bar chart ranking the top 20 cheapest protein sources by grams of protein per dollar

The full ranking: 49 protein sources by protein per dollar

This table contains 39 exact USDA matches and 10 close proxies, with no unresolved protein-source rows. The raw CSV identifies the status and evidence for each row; proxy rows are not independently re-verified. Price entries are July 2026 US figures checked against Walmart shelf listings and BLS national averages.

RankFoodProtein (g per 100g)Price per 100gProtein per $1
1Pinto beans (dry)21.4 g$0.2297.9 g
2Whole wheat flour13.2 g$0.1496.0 g
3Black beans (dry)21.6 g$0.2781.0 g
4Brown lentils (dry)24.6 g$0.3277.7 g
5Navy beans (dry)22.3 g$0.2975.9 g
6Green split peas (dry)23.1 g$0.3173.9 g
7Chickpeas (dry)20.5 g$0.3656.7 g
8Red lentils (dry)23.9 g$0.4356.0 g
9Whole wheat spaghetti13.9 g$0.2653.4 g
10Peanut butter22.2 g$0.4450.7 g
11Chicken drumsticks (bone-in)18.1 g$0.2450.3 g
12White rice (long grain, dry)7.1 g$0.1548.0 g
13Spaghetti (regular, dry)13.0 g$0.2747.7 g
14Old-fashioned rolled oats13.2 g$0.2846.6 g
15Dry roasted peanuts24.4 g$0.6139.8 g
16Brown rice (dry)7.5 g$0.2136.6 g
17Pearled barley (dry)9.9 g$0.2736.3 g
18100% whole wheat bread12.5 g$0.3535.8 g
19Eggs (large)12.6 g$0.3734.4 g
20Sunflower seed kernels20.8 g$0.6631.7 g
21Canned black beans6.0 g$0.2030.1 g
22Mozzarella (low-moisture part-skim)23.8 g$0.7930.1 g
23Whole milk3.2 g$0.1129.1 g
24Chicken thighs (boneless, skinless)19.7 g$0.7127.7 g
25Greek yogurt (plain, nonfat)10.2 g$0.3727.5 g
26Rotisserie chicken (whole, cooked)28.9 g$0.5826.7 g
27Cottage cheese (4%)11.1 g$0.4226.3 g
28Whole chicken (raw)18.6 g$0.4525.3 g
29Pork shoulder butt roast (boneless)17.4 g$0.6925.2 g
30Chicken breast (boneless, skinless)22.5 g$0.9224.5 g
31TVP (textured vegetable protein)52.2 g$2.2323.4 g
32Canned kidney beans5.2 g$0.2223.4 g
33Canned tuna (chunk light, in water)19.4 g$0.8722.4 g
34Pork loin chops (boneless)21.6 g$0.9722.3 g
35Canned chickpeas4.9 g$0.2222.0 g
36Canned pink salmon19.7 g$0.9121.6 g
37Quinoa (dry)14.1 g$0.6621.5 g
38Frozen tilapia fillets20.1 g$0.9620.9 g
39Frozen green peas5.2 g$0.2620.4 g
40Sardines (canned in oil, drained)24.6 g$1.2220.2 g
41Cheddar cheese22.9 g$1.2518.2 g
42Frozen shelled edamame11.2 g$0.6218.0 g
43Ground turkey (93/7)18.7 g$1.2015.6 g
44Almonds21.2 g$1.4314.8 g
45Tofu (extra firm)10.0 g$0.7413.6 g
46Tempeh20.3 g$1.5313.2 g
47Ground beef (80/20)17.2 g$1.4911.5 g
48Ground beef (93/7)20.9 g$1.9011.0 g
49Bacon13.7 g$1.489.2 g

Protein per $1 accounts for edible portion on bone-in items, so drumsticks are scored on the meat, not the skeleton.

What the numbers actually say

The beans won again. Seven of the top eight foods are dried legumes, and whole wheat flour is the only thing breaking the run. Same aisle that ran the fiber table. Dried pinto beans take the crown this time at about 98 grams of protein per dollar. One $3.97 four pound bag holds roughly 389 grams of protein, nearly eight times the FDA’s 50 gram Daily Value. That’s a labeling benchmark, not a personal target. Our Daily Value explainer unpacks the 50 gram figure without pretending one federal label number fits every human. Whole wheat flour technically ties at 96, but flour is an ingredient, not dinner, so it keeps its asterisk from the fiber study. Because the same aisle wins both spreadsheets, we scored the beans on protein and fiber per dollar at once, where dry pintos land at 168.7 combined grams.

Chicken drumsticks are the meat counter’s best-kept secret in this sample. At $1.09 per pound in the 5 pound bag, drumsticks deliver about 50 grams of protein per dollar even after we subtracted a third of the weight for bone. That’s about double chicken breast, which lands at 24.5 using the BLS average price in this dataset. Breast is leaner and easier; drumsticks bought far more protein per dollar here. Your call.

Eggs are the easiest animal protein, not the cheapest. At $2.19 a dozen (May 2026 average, the calmest egg prices in a while), eggs score 34 grams per dollar. Only drumsticks beat them among animal foods without handing you a cutting board and a raw chicken. Milk quietly rides right behind at 29; a $4.22 gallon holds 123 grams of protein, which surprised me enough to check it twice.

Dried beats canned by three to one. Dry pinto beans, 98 grams per dollar; canned black beans, 30. Canned still beats every ground meat in the store, so keep the shelf stocked for lazy nights. But the gap is the price of convenience, and it’s steep. We priced it bean by bean in canned versus dry beans, and not one can in that sample got near the cheapest bag.

Ground beef is a rough way to buy protein. The bottom three spots are 80/20 ground beef, 93/7 ground beef, and bacon, all between 9 and 12 grams per dollar. Nobody buys bacon for protein, but plenty of people believe a pound of ground beef is the default protein move. At $6.75 a pound, every dollar you hand over buys less protein than the same dollar spent on canned beans, frozen peas, or a box of spaghetti. Point that dollar at fiber instead and it stretches even further: the 15 cheapest fiber foods run from 28.5 grams per dollar up to 77.8.

If you just want the winner from each corner of the store, here’s the shortlist:

CategoryBest valueProtein per $1
LegumesPinto beans (dry)97.9 g
Meat and poultryChicken drumsticks (bone-in)50.3 g
Eggs and dairyEggs (large)34.4 g
FishCanned tuna (chunk light, in water)22.4 g

That shortlist is the quick answer. The department-by-department answer is messier and more useful. We broke out animal proteins and the narrower meat counter ranking because a broad category can hide the cheaper cut. We did the same for dairy protein, plant protein, and shelf-stable pantry protein, where convenience changes what “cheap” looks like.

Three everyday questions deserved their own math: what one dollar of protein buys, whether eggs are actually cheap protein, and which no-cook proteins still earn their shelf space. For meals rather than ingredients, the cheapest complete protein pairs show what happens when the spreadsheet finally has to become dinner.

Bar chart comparing how many total grams of protein five dollars buys across ten common foods, from 490 grams for dried pinto beans down to 46 grams for bacon

Does tofu have more protein than chicken?

No, and this question drives real traffic, so here are the numbers side by side:

Protein per 100gProtein per $1
Tofu (extra firm)10.0 g13.6 g
Chicken breast (boneless, skinless)22.5 g24.5 g

Raw chicken breast carries more than twice the protein per 100 grams and nearly double the protein per dollar. Tofu is fine. It’s just not a protein bargain, and neither is tempeh at 13.2 grams per dollar. The cheap plant proteins are beans, lentils, and peanut butter, all of which may also help keep you full between meals. If fullness is the thing you’re actually shopping for, we compared high protein vs high fiber for satiety and the answer isn’t one or the other.

The fine print on plant protein

One honest note before you replace your entire cart with pinto beans. Plant foods vary in their essential amino acid profiles, but you don’t need to pair specific foods at the same meal. MedlinePlus recommends eating a varied mix of beans, lentils, soy foods, nuts, seeds, and whole grains across a vegetarian diet. Beans and rice remain a cheap, practical combination, and our beans and rice complete protein piece explains the kitchen side without turning lunch into biochemistry homework.

Also worth saying: ranking low doesn’t make a food bad. Sardines, tempeh, and Greek yogurt bring things to the table that a bag of pinto beans never will. This list answers one question, where each protein dollar goes furthest, and nothing else. We ran the separate quality-adjusted protein-per-dollar ranking when readers reasonably pointed out that raw grams don’t all perform the same job.

Bar chart of median protein per dollar by grocery category, with dried beans and lentils far ahead of grains, dairy, meat, and fish

How to actually use this

Don’t build a bean-only menu out of spite. Let the top of the table carry the cheap baseline and buy the rest because you like eating it.

  • Anchor the pantry with two bags. Pintos and lentils, about $5.40 total, hold as much protein as six and a half pounds of ground beef that would cost you $43.
  • Make drumsticks or a whole bird the default meat. Both land in the top tier of animal foods. If dinner needs to be done already, the rotisserie chicken at 27 grams per dollar still beats raw breast at average prices.
  • Keep eggs, milk, and cottage cheese doing quiet work. All three sit in the 26 to 34 range with zero prep drama. If you’re deciding between the tubs, our cottage cheese vs Greek yogurt breakdown settles it, and the cheapest breakfast staples ranked covers what else earns a place before noon.
  • Feeding a crowd? We wrote a full playbook on low-cost protein for large families that pairs well with this table.
  • Want to see the ranking turned into actual days? Our 50-gram protein cost study prices five grocery and restaurant scenarios meal by meal.
  • Already stuck at the drive-thru? The fast-food protein-per-dollar ranking prices 30 menu items and shows exactly how expensive convenience gets.
  • Want the shopping system instead of another table? The high-protein budget guide turns the same dataset into a cart, pantry, and weekly backbone.

The whole study comes down to one sentence, and it’s nearly the same sentence as last time: the highest-return protein in this sample lives in the dry goods aisle at about a quarter per 100 grams, the meat counter’s bargain is the humble drumstick, and the stuff at the bottom of the list is the stuff the ads are selling. The spreadsheet is public, the math is one division problem, and the beans don’t care whether anyone photographs them.

Embed this chart on your site free with credit

Copy the code below. It includes the chart and a credit line back to this study — please keep both.

Preview the embed Licensed free to reuse with credit
#cheapest protein sources #protein per dollar #budget protein #cheap protein on a budget #grocery data

Frequently Asked Questions

What is the cheapest protein source?
In our sample of 49 common US grocery foods, dried pinto beans came out on top at about 98 grams of protein per dollar, based on USDA protein data and July 2026 prices. A $3.97 four pound bag holds roughly 389 grams of protein. Whole wheat flour finished within a rounding error at 96 grams per dollar, but that only counts if you bake. Dried lentils, black beans, and split peas fill out the top of the list, all between 56 and 81 grams per dollar.
What are the cheapest ways to get protein at the grocery store?
Start in the dry goods aisle: dried beans, lentils, and split peas all deliver 56 to 98 grams of protein per dollar. Peanut butter lands at 51. Among animal foods, chicken drumsticks are the standout at about 50 grams per dollar even after subtracting the bone, followed by eggs at 34 and whole milk at 29. Ground beef and bacon sit at the bottom, at 9 to 12 grams per dollar.
Does tofu have more protein than chicken?
No, and it isn't close. Extra firm tofu carries about 10 grams of protein per 100 grams, while boneless skinless chicken breast carries 22.5 grams raw, per USDA data. Per dollar, chicken breast delivered about 24.5 grams of protein and tofu about 13.6 in our July 2026 numbers. Tofu still earns a spot for plenty of other reasons; it just isn't the protein bargain people assume it is.
What is the cheapest animal protein?
Chicken drumsticks led the animal foods in our 49-food sample. At $1.09 per pound in a 5 pound bag, they deliver about 50 grams of protein per dollar even after removing 33 percent of the weight for bone. Eggs came next at 34 grams per dollar, then a block of mozzarella at 30, whole milk at 29, and boneless chicken thighs at 28. A whole rotisserie chicken scored 27, which beat raw breast at the price points used in this dataset.
How is protein per dollar calculated?
We matched each food's protein content per 100 grams to a typical July 2026 US package price and divided total protein in the package by its price. Everything is measured as purchased, and bone-in items use USDA refuse percentages for the edible portion. The current row-level source audit found 39 exact USDA matches and 10 close proxies, with no unresolved rows left. Proxies are not counted as independently re-verified. TVP is a proxy rather than an exact match because USDA publishes no TVP record at all, so its 52.17 grams per 100 grams comes from the manufacturer label.
Free Meal Plan

Get the Free 7-Day High-Fiber Meal Plan

A printable week of meals that keep you full, with a grocery list included. Subscribe and it's yours, plus our best recipes and kitchen tips every week.
No spam, only interesting things. Unsubscribe anytime.

Disclaimer: The information in this article is for educational purposes only and does not constitute professional medical or nutritional advice. Always consult a qualified healthcare provider before making dietary changes.