The Cheapest High-Protein Foods (Under $2 per Serving)
The 'high protein is expensive' myth is wrong. Here are the cheapest protein sources by cost per gram, plus a $8/day meal plan that hits 130g of protein.
You've probably heard that eating high-protein is a rich person's diet. Chicken breast, salmon, whey powder, boutique protein bars: all of it feels expensive.
The math tells a different story. When you calculate what you actually spend to get 30 grams of protein, the cheapest sources cost about $0.50. The most expensive convenience foods run $6 or more. That's a 12× spread on the same nutrient, and most of the cheap options are staple foods you probably already keep in the pantry.
Here's the actual cheapest protein per gram, ranked. Plus a $8-per-day meal plan that hits 130g of protein, what to skip when money is tight, and how to make the strategy work on plant-based or SNAP budgets.
The Metric That Actually Matters: Cost Per Gram of Protein
Most food shoppers think in terms of cost per pound or cost per serving. For protein optimization, neither works.
A 16-ounce block of firm tofu at $2.49 sounds cheap. But it only contains about 32g of total protein. That's $0.078 per gram, which is more expensive than eggs, chicken breast, and even whey powder.
A pound of dried black beans at $1.79 sounds boring. It cooks up to over 100g of protein. That works out to $0.017 per gram. Cheaper than anything else in the grocery store.
The formula: cost per gram of protein = (item price) / (total grams of protein in the item).
Once you start shopping this way, your grocery bill drops without your protein intake changing.
The Top 10 Protein-Per-Dollar Champions
Realistic US grocery prices for mid-2026. Costs vary by region, but the ranking holds almost everywhere.
| Rank | Food | Price | Protein per unit | Cost per gram |
|---|---|---|---|---|
| 1 | Dried black beans (1 lb) | $1.79 | 103 g cooked | $0.017 |
| 2 | Whole chicken (per lb raw) | $1.49 | 78 g cooked meat | $0.019 |
| 3 | Dried lentils (1 lb) | $1.99 | 103 g cooked | $0.019 |
| 4 | Peanut butter (16 oz) | $3.49 | 113 g | $0.031 |
| 5 | 2% milk (1 gallon) | $4.29 | 128 g | $0.034 |
| 6 | Whey protein (5 lb bulk) | $54.99 | 1,560 g | $0.035 |
| 7 | Canned chickpeas (15 oz) | $1.09 | 30 g | $0.036 |
| 8 | Chicken breast (per lb raw) | $3.99 | 105 g cooked | $0.038 |
| 9 | Canned tuna (5 oz) | $0.99 | 25 g | $0.040 |
| 10 | Chicken thighs (bone-in, per lb) | $2.20 | 53 g cooked | $0.042 |
At $0.02/g of protein from dried beans, you can hit a 30g protein meal for $0.60. The chicken-breast version of the same meal costs $1.15. Both are absurdly cheap by any restaurant or convenience standard.
Protein values verified against USDA FoodData Central. Prices reflect national US chain averages as of mid-2026.
Under $2 for 30 Grams of Protein: The Full Working List
Any protein source costing less than $0.067 per gram delivers 30g of protein for under $2.00. That's basically everything above and a lot more.
The comprehensive under-$2 list:
- Dried black beans: $0.51 per 30g protein serving
- Whole chicken: $0.57
- Dried lentils: $0.57
- Peanut butter: $0.93 (calorie-dense, watch total intake)
- 2% milk: $1.02
- Whey protein powder: $1.05
- Canned chickpeas: $1.08
- Chicken breast (boneless, skinless): $1.14
- Canned tuna in water: $1.20
- Bone-in chicken thighs: $1.26
- Rolled oats: $1.50 (paired with milk for a complete protein)
- Cottage cheese: $1.80
- Plain Greek yogurt (store brand): $1.80
- Ground turkey (93% lean): $1.80
- Frozen edamame: $1.85 (higher than expected but nutritionally excellent)
- Firm tofu: $2.34 (just over the threshold, still worth it for variety)
Every one of these is available at Walmart, Aldi, Kroger, or your regional supermarket. Nothing exotic, nothing seasonal.
What to Skip on a Budget
Not because these foods are bad. Because you can get the same protein cheaper elsewhere.
- Grass-fed premium beef: $8.99 to $14.99/lb. The nutritional difference vs. regular ground beef is real but small. Not worth 3× the cost on a tight budget.
- Wagyu or prime cuts: $20+/lb. Flavor purchase, not a protein purchase.
- Protein bars: $2.50 to $4.00 each for 15 to 20g of protein. That's $0.15/g. Nearly 10× the cost of cottage cheese.
- Boutique jerky: $8 to $12 for 3 oz. Convenience purchase, not a protein source.
- Protein cereal or protein pasta: 40% markup for 10g extra protein vs. the regular version. Add whey or eggs to normal cereal for a fraction of the cost.
- Fresh salmon fillets: $12 to $16/lb. Delicious but a poor cost-per-gram. Canned salmon is 60% cheaper for similar nutrition.
- Ready-to-drink meal replacement shakes: $2.50 to $4.00 per bottle. A DIY whey + milk shake delivers the same macros for $1.20.
The rule: if a food is being sold on convenience or brand story, it's usually the wrong protein source when money is tight.
Sample Budget Week: 130g Protein Per Day, $8 Per Day of Groceries
Here's a week that averages 130g of protein daily on a $56 weekly grocery bill. All prices from the top-10 table above.
Weekly shopping list:
| Item | Quantity | Cost |
|---|---|---|
| Bone-in chicken thighs | 3 lb | $6.60 |
| Ground turkey (93/7) | 1 lb | $5.49 |
| Eggs (large) | 2 dozen | $7.58 |
| Rolled oats | 18 oz canister | $3.29 |
| Peanut butter | 16 oz jar | $3.49 |
| Dried lentils | 1 lb | $1.99 |
| Dried black beans | 1 lb | $1.79 |
| Canned tuna | 4 cans | $3.96 |
| Cottage cheese | 16 oz | $2.99 |
| 2% milk | 1 gallon | $4.29 |
| Whey protein (portioned from bulk tub) | ~7 scoops | $7.00 |
| Vegetables (in-season, frozen mix) | for the week | $8.00 |
| Total | $56.47 |
Sample day (Monday):
| Meal | Foods | Protein | Cost |
|---|---|---|---|
| Breakfast | 3 eggs + 40g oats + 200ml milk | 30g | $1.10 |
| Lunch | 150g chicken thigh + 1 cup black beans + veg | 55g | $2.20 |
| Snack | 1 scoop whey + 200ml milk | 32g | $1.55 |
| Dinner | 100g ground turkey + 1 cup lentils + veg | 35g | $2.30 |
| Total | ~152g | ~$7.15 |
That's 152g of protein for $7.15, comfortably under the $8/day budget. Swap thighs for tuna some days to push the cost lower. Every day of the week comes out between $6.50 and $8.50, always hitting 120g+ of protein.
For flexible day-planning around your calorie target, drop your numbers into the macro calculator to see how protein slots into the rest of your budget.
Storage and Shopping Strategy
This is where most budget-protein plans fall apart. The strategies that actually work:
Buy in bulk when the math is real. A 5 lb whey tub at $54.99 sounds expensive until you break it into 65 servings at $0.85 each. Same for 10 lb bags of dried beans at Costco or Sam's Club.
Freeze in single portions. Buy 5 lb of chicken thighs when they hit $1.79/lb. Break into 1 lb bags before freezing. Thawed portions cook faster than a giant block.
Canned staples are your safety net. Tuna, chicken, chickpeas, beans, salmon. When the fresh chicken plan collapses, you can still hit 25g of protein in 60 seconds with a can opener.
Eggs don't expire fast enough to worry about. A dozen eggs stays fresh for 3 to 5 weeks in the fridge. Bulk-buy without fear.
Shop the perimeter, ignore the aisles. Meats, dairy, eggs, produce sit on the outer walls of every US grocery store. The processed protein products in the aisles are almost always more expensive per gram.
Store-brand everything. Kirkland whey, Kroger cottage cheese, Great Value canned tuna. The formulations are identical or nearly identical to branded versions at 25% to 40% less.
Plant-Based on the Tightest Budget
Being vegan or vegetarian doesn't have to raise your grocery bill. If anything, plant proteins are the cheapest options in the store.
The starter shopping list:
- Dried lentils: $1.99/lb (10+ servings)
- Dried black beans: $1.79/lb (10+ servings)
- Dried chickpeas: $1.79/lb (10+ servings)
- Peanut butter: $3.49/16 oz
- Rolled oats: $3.29/18 oz
- Firm tofu: $2.49/14 oz block
- Frozen edamame: $2.99/12 oz
- Pea protein isolate (if you can afford one splurge): $34/2 lb
The complete-protein trick: Individual plant proteins usually lack one or two essential amino acids. Combining sources fixes it:
- Rice + beans
- Peanut butter + wholegrain toast
- Lentils + oats
- Tofu + rice
Each of those combinations comes in around $0.60 per 30g of complete protein. Nothing an omnivore is doing gets cheaper than that.
Two of our recipes work well as templates for this budget approach: Spiced lentil & tomato soup and Savoury egg-topped oats. Both come in under $2 per serving and hit 22 to 30g of protein.
Frequently Asked Questions
Can I actually get enough protein on SNAP or food stamps?
Yes. SNAP averages $187/month for a single adult in 2026. If you allocate half of that ($93) to protein sources and buy from the top-10 list, you can hit 130g/day comfortably. The trick is buying dried beans, lentils, whole chickens, eggs, and store-brand milk. Skip everything in a box that says "protein" on the front.
Is whey powder worth it on a budget?
At $0.85 per 30g serving (bulk tub), it's the cheapest fast protein source. Yes, it's worth it. Even one 30g scoop a day rescues low-protein days without denting your budget. Whey isn't a magic muscle-builder, but it fills nutritional gaps at a lower cost than most whole foods do.
Are eggs actually the cheapest complete protein?
Complete but not cheapest. Eggs run $0.053/g of protein. Whole chicken and dried beans are both cheaper per gram. But eggs win on convenience: you can eat 3 hard-boiled eggs anywhere in 60 seconds. When you factor in prep time, eggs are often the best real-world value for weekday budgets.
Isn't chicken breast overpriced compared to thighs?
Boneless skinless breast at $3.99/lb costs $0.038 per gram of protein. Bone-in thighs at $2.20/lb cost $0.042 per gram. Breast is actually slightly cheaper per gram of protein because it has less fat and bone weight. But thighs are more forgiving to cook and taste better even when done imperfectly, so many budget shoppers prefer them anyway.
What about vegetarians who don't eat beans?
Hard mode, but doable. Focus on: eggs, cottage cheese, Greek yogurt, whey powder, milk, and peanut butter. Add tofu and edamame for variety. That's 6+ cheap sources without any beans or lentils in the mix.
Bottom Line
Protein isn't expensive. Convenient protein is expensive. Dried beans, whole chickens, eggs, and store-brand whey get you to any daily target for under $8. What costs money is buying protein in the form of packaged bars, ready-to-drink shakes, boutique cuts of meat, and specialty diet products.
Shop by cost per gram of protein. Buy in bulk when the numbers add up. Freeze in portions. Keep canned staples for emergencies. That's the whole strategy.
Not sure how much protein you actually need for your goal? Run your numbers through the free protein calculator to get a daily gram target, then pick 3 or 4 items from the top-10 list above and you're done thinking about it.
Or start with one of our budget-friendly recipes built around cheap protein staples like eggs, lentils, and canned tuna.
Advertisement