The Cheapest Protein: 24 Foods Ranked by Cost per 25g of Protein
Dried beans are the cheapest protein at $0.42 per 25g. We ranked 24 grocery foods by protein per dollar with August 2026 BLS prices and USDA data.
Dried beans are the cheapest protein in a U.S. grocery store: $0.42 per 25g of protein at August 2026 government average prices. Low-fat milk ($0.72), eggs ($0.75), and bone-in chicken legs ($0.77) are the cheapest animal proteins, and boneless chicken breast is the best lean deal at $1.02. We ranked 24 foods using BLS prices and USDA protein data.
The short answer
We took the U.S. Bureau of Labor Statistics (BLS) average retail price for every protein-relevant food it published for August 2026, matched each one to its USDA FoodData Central entry, and worked out what 25 grams of protein costs. Twenty-five grams is roughly one solid serving: about four large eggs, or a bit under 4 oz of raw chicken breast.
Five findings stand out:
- Beans win by a wide margin. At $1.63 a pound dry, beans deliver 59.6g of protein per dollar. That is about 2.4 times cheaper per gram of protein than boneless chicken breast, and nearly 10 times cheaper than sirloin steak ($4.10 per 25g).
- Eggs are still cheap protein. At $2.27 a dozen, one large egg costs about 19 cents and carries 6.3g of protein. That works out to $0.75 per 25g, fourth overall.
- Milk is the cheapest animal protein. A gallon of low-fat or skim milk at $3.72 has 128.8g of protein, or $0.72 per 25g.
- Chicken breast is the lean bargain. Bone-in legs and whole chickens are cheaper per gram of protein, but boneless breast is the only food in the study that costs about a dollar per 25g and returns more than 15g of protein per 100 calories.
- Price per pound misleads. Chicken legs cost 2.5 times less per pound than boneless breast, but once you remove the bone, they are only 1.3 times cheaper per gram of protein.
All 24 foods, ranked by cost per 25g of protein
Prices are BLS U.S. city averages for August 2026, the latest month published when we checked. Protein is from USDA FoodData Central (SR Legacy), for the food as you buy it: raw meat, dry beans and grains, whole eggs without the shell. Bone and other inedible parts are removed using USDA's own refuse percentages.
| Rank | Food | Price (BLS, Aug 2026) | Protein per unit | Cost per 25g protein | Protein per $1 |
|---|---|---|---|---|---|
| 1 | Dried beans (USDA: pinto, raw) | $1.63 per lb | 97.1g | $0.42 | 59.6g |
| 2 | Spaghetti and macaroni, dry | $1.37 per lb | 59.0g | $0.58 | 42.9g |
| 3 | Milk, low-fat or skim | $3.72 per gallon | 128.8g | $0.72 | 34.7g |
| 4 | Eggs, grade A large | $2.27 per dozen | 75.6g | $0.75 | 33.3g |
| 5 | Chicken legs, bone-in | $1.67 per lb | 54.3g | $0.77 | 32.5g |
| 6 | White rice, uncooked | $1.11 per lb | 32.3g | $0.86 | 29.1g |
| 7 | Milk, whole | $4.23 per gallon | 123.0g | $0.86 | 29.1g |
| 8 | Whole chicken | $2.01 per lb | 57.4g | $0.88 | 28.5g |
| 9 | Chicken breast, boneless | $4.17 per lb | 102.1g | $1.02 | 24.5g |
| 10 | White bread | $1.82 per lb | 40.1g | $1.14 | 22.0g |
| 11 | Pork chops, boneless | $4.53 per lb | 95.7g | $1.18 | 21.1g |
| 12 | Cheddar cheese | $5.98 per lb | 103.9g | $1.44 | 17.4g |
| 13 | American cheese | $4.75 per lb | 82.1g | $1.45 | 17.3g |
| 14 | Ham, boneless | $5.38 per lb | 83.0g | $1.62 | 15.4g |
| 15 | Round roast, boneless | $8.96 per lb | 105.5g | $2.12 | 11.8g |
| 16 | Ground chuck | $6.77 per lb | 78.0g | $2.17 | 11.5g |
| 17 | Beef for stew, boneless | $8.59 per lb | 98.9g | $2.17 | 11.5g |
| 18 | Ground beef, 100% beef | $6.92 per lb | 78.0g | $2.22 | 11.3g |
| 19 | Round steak, boneless | $9.69 per lb | 105.5g | $2.30 | 10.9g |
| 20 | Ground beef, lean and extra lean | $8.57 per lb | 90.7g | $2.36 | 10.6g |
| 21 | Bacon, sliced | $6.61 per lb | 62.1g | $2.66 | 9.4g |
| 22 | Chuck roast, boneless | $9.45 per lb | 81.9g | $2.89 | 8.7g |
| 23 | Yogurt (USDA: plain, low fat) | $1.58 per 8 oz | 11.9g | $3.32 | 7.5g |
| 24 | Sirloin steak, boneless | $14.36 per lb | 87.6g | $4.10 | 6.1g |
Costs are calculated from BLS prices to the tenth of a cent, so two foods that both show $0.86 or $2.17 are ranked by their unrounded values. The math for each row: price ÷ protein per unit × 25. For eggs, $2.272 ÷ 75.6g × 25 = $0.75.
Two things to keep in mind. Pasta, rice, and bread rank high because they are very cheap per pound, not because they are protein foods: they come with 713 to 1,280 calories per 25g of protein, so they belong in the meal, not at its center. And BLS prices are national averages across U.S. cities. Your store, your region, and this week's sale will differ, but the order of the list is a useful guide. Every food's protein per calorie is in our 50 high protein foods ranking.
Best cheap protein by category
| Category | Cheapest per 25g protein | Cost per 25g | Runner-up |
|---|---|---|---|
| Plant | Dried beans | $0.42 | No other plant protein has a current BLS price |
| Dairy and eggs | Milk, low-fat or skim | $0.72 | Eggs, $0.75 |
| Poultry | Chicken legs, bone-in | $0.77 | Whole chicken, $0.88 |
| Pork | Pork chops, boneless | $1.18 | Ham, boneless, $1.62 |
| Beef | Round roast, boneless | $2.12 | Ground chuck, $2.17 |
Plant. Beans are the only plant protein the BLS prices. USDA lists dry lentils at 24.6g of protein per 100g, a little more than pinto beans at 21.4g, so lentils are likely in the same cheap range, but we have no government price to prove it. Tofu (17.3g per 100g, firm) is also missing from the BLS list. Beans bring fiber too, which is why they show up again in our high fiber foods list.
Dairy and eggs. Milk and eggs are nearly tied, and they are the cheapest animal protein you can buy. Cheese is twice the cost per gram of protein and much heavier in calories. The BLS yogurt price covers all yogurt types, so we matched it to plain low-fat yogurt (5.25g per 100g). Greek yogurt has about twice that protein per 100g (10.2g nonfat), but the BLS does not price it separately, so it is not ranked. See calories in Greek yogurt and calories in cheese for the full breakdowns.
Poultry. All three chicken items land under $1.05 per 25g. Legs and whole birds are cheaper per gram, breast is leaner and has no bone to deal with. Our chicken breast calorie guide covers raw versus cooked weights.
Beef. Every beef cut costs more than $2 per 25g of protein. The cheapest is boneless round roast at $2.12, and the most expensive food in the whole study is boneless sirloin at $4.10.
The cheapest lean protein
Cheap protein that also comes with few calories is the sweet spot for anyone cutting. Here are the foods that return at least 10g of protein per 100 calories, sorted by cost:
| Food | Cost per 25g protein | Protein per 100 cal | Calories per 25g protein |
|---|---|---|---|
| Chicken breast, boneless | $1.02 | 18.8g | 133 |
| Pork chops, boneless | $1.18 | 10.5g | 238 |
| Ham, boneless | $1.62 | 11.3g | 221 |
| Round roast, boneless | $2.12 | 18.4g | 136 |
| Beef for stew, boneless | $2.17 | 17.0g | 147 |
| Round steak, boneless | $2.30 | 18.5g | 135 |
| Ground beef, lean and extra lean | $2.36 | 11.4g | 220 |
Chicken breast wins both contests: it is the cheapest lean protein and the leanest food in the study. Round roast and round steak are just as lean but cost more than twice as much per gram of protein.
The cheaper foods higher in the main ranking are not in this table because of their calories. Eggs come with 284 calories per 25g of protein, beans 405, low-fat milk 379, and chicken legs 326. They are still great buys. If calories are tight, pair them with chicken breast rather than leaning on them alone.
A one-week budget proteinmaxxing grocery list: 150g a day for $32.64
The target here is 150 grams of protein a day, 1,050 grams for the week. That is Nouri's default target for a 150 lb person at 1.0 gram per pound. The list uses only foods from the ranking, at the same August 2026 BLS prices.
| Item | Buy | Protein | Cost |
|---|---|---|---|
| Eggs, grade A large | 2 dozen | 151.2g | $4.54 |
| Chicken breast, boneless | 3 lb | 306.2g | $12.52 |
| Chicken legs, bone-in | 3 lb | 162.9g | $5.01 |
| Dried beans | 2 lb | 194.1g | $3.26 |
| Milk, low-fat or skim | 1 gallon | 128.8g | $3.72 |
| Spaghetti, dry | 1 lb | 59.0g | $1.37 |
| White rice, uncooked | 2 lb | 64.7g | $2.22 |
| Total | 1,066.9g | $32.64 |
The protein math: 151.2 + 306.2 + 162.9 + 194.1 + 128.8 + 59.0 + 64.7 = 1,066.9g, which is 152.4g a day. The cost: 4.54 + 12.52 + 5.01 + 3.26 + 3.72 + 1.37 + 2.22 = $32.64, or $4.66 a day. That averages $0.76 per 25g of protein across the whole cart.
In practice that is two eggs at breakfast plus milk, beans and rice at lunch, and chicken with pasta or rice at dinner. These ingredients add up to about 15,570 calories for the week, roughly 2,220 a day, before vegetables, fruit, and cooking oil. If your calorie target is lower, trade the rice and one pound of beans for another pound of chicken breast. The list also has almost no produce, so budget for vegetables and fruit on top. For more ideas between meals, see our high protein snacks.
Common mistakes when shopping for cheap protein
Comparing price per pound instead of price per gram of protein. A pound of cheddar ($5.98) has 103.9g of protein, more than a pound of ground beef ($6.92, 78.0g). The shelf tag cannot tell you that. Divide the price by the grams of protein, then multiply by 25.
Forgetting the bone. USDA puts the bone at 27% of a raw chicken leg's weight and 32% of a whole chicken's meat and skin weight. You pay for it but do not eat it. That is why legs at $1.67 a pound are 2.5 times cheaper than boneless breast per pound but only 1.3 times cheaper per gram of protein.
Forgetting the fat. Fat weighs something and has no protein. Lean and extra-lean ground beef costs 24% more per pound than regular 100% ground beef ($8.57 vs $6.92), but only 6.5% more per gram of protein ($2.36 vs $2.22), and it brings far fewer calories per gram of protein (220 vs 369). Our ground beef guide compares every lean-to-fat ratio.
Treating carbs as protein foods. Pasta and rice look cheap per gram of protein, but you need 713 calories of dry pasta or 1,280 calories of rice to get 25g. They stretch a protein budget, they do not replace one.
Judging cooked weights. All the math here uses raw, as-purchased weights. Meat loses water when cooked, so a cooked pound has more protein per ounce than a raw pound. Log what you actually eat, cooked or raw, and do not mix the two. How to track calories without weighing food covers simpler ways to estimate portions.
How to track cheap protein in Nouri
Nouri sets your protein target from your body weight: 1.0 gram per pound by default. Turn on Prioritize Protein and it becomes 1.2 grams per pound. Fat stays at 30% of your calories, and carbs absorb the difference, so your calorie target does not move. For a 150 lb person that means 150g by default, the target the grocery list above was built for, or 180g with Prioritize Protein on.
I built Nouri because logging was the part I kept quitting. In MyFitnessPal the numbers were fine, but a normal dinner took several minutes to enter, and after a long day I skipped it. Budget meals make that worse: a pot of beans and rice with chicken thighs is one dish to you and four database searches to an app. In Nouri you log it the way you would describe it, "a bowl of pinto beans and rice with two chicken legs," typed, spoken, as a photo (Nouri turns the photo into a sentence first so you can correct it), or through Siri from the lock screen with "Hey Siri, track food in Nouri." The protein for that meal shows up right away, with the per-item reasoning visible, and you can add "cooked in butter" to recalculate. Nouri is iPhone (iOS only), and you can start with a free trial.
Then every week, your Nouri Report shows your average protein against your target, how many days you landed on target for your goal, and protein equivalents that turn the grams into food you can picture. A cheap week only counts if the protein actually got eaten, and the report is where you see that.
Methodology
- Prices. BLS Average Price Data (the CPI average price series, U.S. city average, not seasonally adjusted) for August 2026, pulled from the BLS public API on October 5, 2026. We included every protein-relevant series with an August 2026 value. Series with no recent data (canned tuna, peanut butter, frozen whole turkey, frankfurters, and others) are left out. Bone-in pork chops and whole wheat bread were last published for May 2026, so they are left out to keep every price from the same month.
- Protein and calories. USDA FoodData Central, SR Legacy, using the raw or as-purchased entry that matches each BLS item (raw meat, dry beans, dry pasta, uncooked rice). BLS units: 1 lb = 453.6g; 1 dozen eggs = 12 × 50g, USDA's edible weight of a large egg; 1 gallon of milk = 4 × 976g, USDA's quart weight; 8 oz yogurt = 227g, USDA's container weight.
- Edible portion. Bone and trimmed connective tissue are removed using the refuse percentage USDA publishes for each food in SR28: chicken legs 27% bone, whole chicken 32% bone, round roast and round steak 1%, chuck roast 6%, sirloin 3%. Other items have no refuse.
- Matching choices. BLS item names are broader than USDA entries, so we picked the closest one and say so: dried beans as pinto beans; "ground beef, 100% beef" and ground chuck as 80/20; "lean and extra lean" as 90/10; low-fat or skim milk as 2%; all yogurt as plain low-fat; round steak and roast as top round; chuck roast as boneless under-blade pot roast; whole chicken as meat and skin. Choice grade where USDA lists grades, all grades for stew beef.
- Formulas. Protein per unit = edible grams × USDA protein per 100g ÷ 100. Cost per 25g = price ÷ protein per unit × 25. Protein per $1 = protein per unit ÷ price. Every number in this post came from one script and was checked against its output.
FAQ
What is the cheapest source of protein?
Dried beans, at $0.42 per 25g of protein based on the August 2026 BLS average price of $1.63 a pound. That is 59.6g of protein per dollar. Among animal foods, low-fat milk ($0.72), eggs ($0.75), and chicken legs ($0.77) are the cheapest.
What is the cheapest protein per dollar?
Dried beans give the most protein per dollar of any food in our ranking, 59.6g. Next come dry pasta (42.9g, though mostly carbs), low-fat milk (34.7g), eggs (33.3g), and bone-in chicken legs (32.5g).
Are eggs still cheap protein?
Yes. The BLS average for a dozen grade A large eggs was $2.27 in August 2026, about 19 cents an egg. Each large egg has 6.3g of protein, so 25g costs $0.75, fourth cheapest of 24 foods. Our egg calorie guide has every size.
What is the cheapest high protein food that is also low in calories?
Boneless chicken breast. It costs $1.02 per 25g of protein at $4.17 a pound and gives 18.8g of protein per 100 calories, so 25g of protein comes with just 133 calories. Round roast and round steak are about as lean but cost more than twice as much per gram of protein.
Is chicken breast or chicken thighs cheaper for protein?
The BLS does not publish a separate thigh price, so we compared bone-in chicken legs (thigh and drumstick). Legs cost $0.77 per 25g of protein after removing USDA's 27% bone weight, versus $1.02 for boneless breast. Legs are cheaper, breast is leaner.
Is ground beef a cheap protein?
Not compared to chicken or eggs. Regular 100% ground beef costs $2.22 per 25g of protein, more than double boneless chicken breast. Lean and extra-lean ground beef costs $2.36, only 6.5% more per gram of protein, with far fewer calories.
Is milk a good cheap protein source?
Yes. A gallon of low-fat or skim milk at $3.72 has 128.8g of protein, which is $0.72 per 25g, the cheapest animal protein in the study. A cup carries 8.1g for about 23 cents.
Is protein powder cheaper than chicken?
We could not rank it, because the BLS does not publish a price for whey or any protein powder. You can check your own tub: divide the price by the total grams of protein (servings × grams per serving), then multiply by 25. If the result is under $1.02, it beats boneless chicken breast at August 2026 average prices.
Are canned tuna and peanut butter cheap protein?
We could not rank them. The BLS series for canned light tuna and creamy peanut butter returned no 2025 or 2026 prices when we checked, and we only used current government prices. If you want to compare them yourself, use the same math: price ÷ grams of protein in the package × 25.
How much protein can you get for $5 a day?
Our one-week list delivers 152.4g of protein a day for $4.66 at August 2026 average prices, using eggs, chicken breast, chicken legs, dried beans, milk, pasta, and rice. Produce and cooking oil are extra, and local prices vary.
Why is price per pound misleading for protein?
Because a pound of food can be part bone, part fat, or mostly water. A pound of bone-in chicken legs has 54.3g of protein, a pound of boneless breast has 102.1g. Divide price by grams of protein to compare fairly.
What is the easiest way to track protein on a budget?
Cook cheap, then log each meal in one sentence in Nouri: typed, spoken, as a photo, or through Siri. Nouri shows the protein in each meal as you log it, and your weekly report shows whether your average actually hit the target set from your body weight.
Beans, milk, eggs, and chicken cover most of a protein budget, and chicken breast handles the lean end. Log what you cook in Nouri and see whether the cheap week was also a high-protein one. For protein per calorie rather than per dollar, see our high protein foods ranking, and for eating out, the Fast Food Protein Index. For grab-and-go options, see 40 high protein snacks ranked by protein per calorie.
Sources
- U.S. Bureau of Labor Statistics, Average Price Data (CPI), U.S. city average, August 2026, via the BLS Public Data API, api.bls.gov/publicAPI/v2/timeseries/data (checked October 5, 2026). Series: eggs, grade A large, per dozen (APU0000708111); chicken breast, boneless, per lb (APU0000FF1101); chicken, fresh, whole, per lb (APU0000706111); chicken legs, bone-in, per lb (APU0000706212); ground beef, 100% beef (APU0000703112); ground chuck, 100% beef (APU0000703111); ground beef, lean and extra lean (APU0000703113); steak, round, USDA Choice, boneless (APU0000703511); round roast, USDA Choice, boneless (APU0000703311); chuck roast, USDA Choice, boneless (APU0000703213); beef for stew, boneless (APU0000703432); steak, sirloin, USDA Choice, boneless (APU0000703613); pork chops, boneless (APU0000704212); ham, boneless, excluding canned (APU0000704312); bacon, sliced (APU0000704111); milk, fresh, whole, fortified, per gallon (APU0000709112); milk, fresh, low-fat, reduced fat, skim, per gallon (APU0000FJ1101); cheddar cheese, natural (APU0000710212); American processed cheese (APU0000710211); yogurt, per 8 oz (APU0000FJ4101); beans, dried, any type (APU0000714233); bread, white, pan (APU0000702111); spaghetti and macaroni (APU0000701322); rice, white, long grain, uncooked (APU0000701312)
- BLS item definitions and units: download.bls.gov/pub/time.series/ap/ap.item (checked October 5, 2026)
- USDA FoodData Central, SR Legacy (checked October 5, 2026): egg, whole, raw (FDC 171287); chicken breast, boneless, raw (FDC 171077); chicken, meat and skin, raw (FDC 171447); chicken leg, meat and skin, raw (FDC 172378); ground beef 80/20, raw (FDC 174036); ground beef 90/10, raw (FDC 174030); top round steak, boneless, raw (FDC 173980); top round roast, boneless, raw (FDC 173983); chuck under blade pot roast, boneless, raw (FDC 170814); chuck for stew, raw (FDC 171206); top sirloin steak, raw (FDC 168728); pork loin chops, boneless, raw (FDC 168286); ham, boneless, unheated (FDC 168295); bacon, unprepared (FDC 168277); whole milk (FDC 171265); 2% milk (FDC 171267); cheddar (FDC 173414); American cheese (FDC 171290); yogurt, plain, low fat (FDC 170886); pinto beans, raw (FDC 175199); white bread (FDC 174924); pasta, dry (FDC 169736); white rice, raw (FDC 168877). Unpriced references: lentils, raw (FDC 172420); firm tofu (FDC 172475); Greek yogurt, nonfat (FDC 170894)
- Refuse percentages (bone and connective tissue): USDA Agricultural Research Service, National Nutrient Database for Standard Reference, Release 28 (the source of SR Legacy), FOOD_DES file, ars.usda.gov sr28asc.zip (checked October 5, 2026)
Keep reading
All articlesProteinmaxxing: 50 High Protein Foods Ranked by Protein per 100 Calories
Shrimp leads at 24.2g of protein per 100 calories. 50 high protein foods ranked with USDA data, plus a 194g proteinmaxxing day and real targets.
FoodsHigh Protein Snacks: 40 Snacks Ranked by Protein per Calorie
Shrimp leads at 24.2g of protein per 100 calories. 40 high protein snacks ranked with USDA data, plus 25 to 30g combos under 300 calories.
FoodsVolume Eating: 50 Low Calorie Foods With the Most Food per Calorie
Iceberg lettuce and celery give you 714g of food per 100 calories. 50 low calorie foods ranked with USDA data, plus a 500-calorie plate that weighs 1.2kg.
FoodsHow Many Calories in an Apple? Official USDA Numbers by Size
A medium apple with skin is about 95 calories with 4.4g of fiber, by USDA data. Calories by size, peeled vs unpeeled, applesauce, juice, and dried apple.