nutrition

Protein per Dollar: The Cheapest Protein Sources, Ranked

We ranked 49 common grocery foods by grams of protein per dollar, using USDA data and July 2026 prices. Beans crushed it. Bacon should apologize.

David Miller July 6, 2026

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, USDA protein numbers, current prices, one division problem. The result is a full ranking of the cheapest protein sources in the store.

Short answer: the beans repeat, and the gap is still absurd. A dollar of dried pinto beans buys about 98 grams of protein. A dollar of bacon buys 9. That’s the same nutrient at more than ten times the price, and the expensive version is the one everyone photographs on burgers.

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: grams of protein per 100 grams of each food, from USDA FoodData Central (SR Legacy). Every value in the table was pulled from the USDA dataset directly, then re-checked against a second USDA source before publishing.
  • Prices: for the 23 foods that also appeared in the fiber study, we reused the exact prices we audited on July 4, 2026. New items use Bureau of Labor Statistics average prices from May 2026 (eggs, milk, chicken, ground beef, pork, cheese, bacon) and Walmart.com national listings from July 2026 for the rest. BLS averages run higher than Walmart shelf prices, so the meat and dairy rows are, if anything, scored conservatively.
  • 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.

And no, protein powder isn’t in the table. This site covers food you can eat as food, so supplements of any kind are out of scope. The closest thing on the list is TVP, which is just defatted soy flour in nugget form, and it’s a grocery item, not a scoop.

The full dataset is public. You can download the raw CSV here and check every number yourself.

The full ranking: 49 protein sources by protein per dollar

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
31Canned kidney beans5.2 g$0.2223.4 g
32TVP (textured vegetable protein)50.0 g$2.2322.5 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. Six of the top eight foods are dried legumes, 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, which is almost eight days of the FDA’s 50 gram Daily Value for a few cents more than a single fancy coffee. Whole wheat flour technically ties at 96, but flour is an ingredient, not dinner, so it keeps its asterisk from the fiber study.

Chicken drumsticks are the meat counter’s best-kept secret. 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 double chicken breast, which lands at 24.5 on national average prices. Breast is leaner and easier; drumsticks are half the price for the same nutrient. 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.

Tofu does not have more protein than chicken. This question drives real traffic, so here are the numbers: extra firm tofu has about 10 grams of protein per 100 grams; raw chicken breast has 22.5. Per dollar it’s 13.6 versus 24.5, chicken again. Tofu is fine. It’s just not a protein bargain, and neither is tempeh at 13.2. The cheap plant proteins are beans, lentils, and peanut butter, all of which may also help keep you full between meals.

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.

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.

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

The fine print on plant protein

One honest note before you replace your entire cart with pinto beans. Most plant proteins are lower in one or more essential amino acids than meat, eggs, or dairy. That’s the whole “complete protein” thing, and it’s a food-science fact, not a scare. It’s also solved by the oldest trick in the cookbook: pair a legume with a grain across the day, and the amino acids cover each other’s gaps. Beans and rice do it, peanut butter on whole wheat does it, lentil soup with bread does it. We wrote up exactly how the pairing works in our beans and rice complete protein piece.

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.

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.
  • Feeding a crowd? We wrote a full playbook on low-cost protein for large families that pairs well with this table.

The whole study comes down to one sentence, and it’s nearly the same sentence as last time: the cheapest protein in America lives in the dry goods aisle at about a quarter per 100 grams, the meat counter’s real bargain is the humble drumstick, and the stuff at the bottom of the list is the stuff the ads are selling. Now you have the receipts, again.

Frequently Asked Questions

What is the cheapest protein source?
In our analysis 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, by a comfortable margin. 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 in second among animal foods 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 beats buying raw breast at national average prices.
How is protein per dollar calculated?
We took each food's protein content per 100 grams from USDA FoodData Central, matched it to a typical July 2026 US price per package (audited Walmart national listings plus Bureau of Labor Statistics average prices), and divided total protein in the package by its price. Everything is measured as purchased: raw meat, dry beans, whole packages. For bone-in items we counted only the edible portion, using USDA refuse percentages.
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.