
Eggs were once among the most affordable protein options available. When priced at $2 per dozen, the 84 grams of protein in a carton of extra-large eggs translated to just 48 cents for every 20 grams of protein. However, a severe bird flu outbreak has disrupted this. When the virus is detected on a farm, entire flocks are often culled to stop its spread. This has driven up demand and prices for eggs, with the USDA's Economic Research Service predicting a 20% increase in egg prices this year. (The CDC provides further details on the bird flu outbreak, though it's important to note that the Trump administration has previously blocked the release of bird flu research despite the ongoing crisis.)
Setting aside public health concerns, let's examine the current grocery prices. Eggs are no longer the most economical choice, though whey powder prices have dropped since the last egg price surge in 2023. With this in mind, I decided to reassess the cost per serving of protein across various grocery items. This includes traditional sources like meat, eggs, and protein powder, as well as overlooked options such as tofu and peanuts.
Approach
These calculations do not stem from a comprehensive national price survey. Unable to locate a reliable source of current, comparable prices under tight deadlines, I opted to use standard prices from chain grocery stores in Pittsburgh. I also checked Amazon and Walmart for items unavailable locally. Most price checks were conducted via Instacart. When multiple brands or packages were available, I selected the most affordable yet reasonable option—the one I’d likely choose on a budget. Bulk pricing was excluded. If a store offered a significantly lower price than others, I disregarded it and chose a more typical price from competitors. My goal was fairness, using my judgment to reflect market-representative prices.
Prices in your area may differ from those I found, but I expect the relative costs—which items are cheaper than others—to be consistent. You can determine your own costs using this formula:
(price per item) / (grams of protein in the entire package) = price per gram
Throughout this list, I’ve calculated the cost per 20 grams of protein. (Multiply the result from the formula above by 20.) This amount is suitable for a small snack or can be doubled or tripled for a protein-packed meal. For context, a chicken breast contains roughly 40 grams of protein.
The most affordable protein sources available
While nothing on my list rivals the affordability of $2 or even $2.50 per dozen eggs (RIP), the following options all come in under $1 for 20 grams of protein:
Chicken thighs (bone-in, skin on), 62 cents ($1.99/lb, 64 grams of protein)
Skim milk, 65 cents ($4.29/gallon, 133 grams of protein)
Black beans, dried, 66 cents ($3.29/lb, 100 grams of protein)
Peanuts (!), 71 cents ($3.99/lb, without shells, 112 g)
Whole milk, 81 cents ($4.99/gal, 123 g)
String cheese, low-moisture mozzarella, 88 cents ($3.69 for a 12-pack, 84 g)
Tuna didn’t make the cut this year, priced at $1.29 per can for 20 grams of protein. (It was a bit cheaper the last time I compiled a similar list.) Chicken breast and canned black beans are notable mentions, both slightly over a dollar for 20 grams.
The most affordable meat options for protein
Chicken is inexpensive enough to feature on our overall cheapest list. While chicken breast is pricey per pound, it offers a high protein yield. In contrast, bone-in, skin-on chicken legs are incredibly cheap—though the price accounts for inedible bones and significant fat in the meat and skin. Depending on preparation, some of this fat may be lost during cooking.
Chicken thighs (bone-in, skin on), 62 cents ($1.99/lb, 64 grams of protein)
Chicken breast, $1.01 ($6.99/lb, 139 g)
With meat cuts, you’ll face a similar tradeoff. Leaner, pricier cuts can still be economical in terms of protein cost. While you can calculate the numbers for your preferred steaks, here are two popular ground beef options:
80/20 beef (20% fat), $1.58 ($5.99/lb, 76 g)
93/7 beef (7% fat), $1.46 ($6.99/lb, 96 g)
Currently, several other meats are more affordable than ground beef, though prices fluctuate. Here’s what I discovered at nearby stores:
Pork tenderloin, $1.43 per 20 grams of protein ($5.99 per pound, with 84 grams of protein)
Frozen tilapia, $1.22 per 20 grams of protein ($9.76 per pound, for 160 grams of protein). Fish prices vary, and frozen options often offer better deals—so this could rank higher if you find a good bargain in the frozen aisle.
Ground turkey, $1.73 ($8.29 per pound, for 96 grams of protein).
For comparison, here are two items that turned out to be pricier than the rest. One was expected, while the other was a bit surprising:
Salmon, $2.10 for 20 grams of protein ($9.66/lb for 92 grams of protein—and that’s a bargain for salmon!)
Canned chicken, $2.17 for 20 grams of protein ($2.41 for a can containing 18 grams of protein)
Most affordable vegetarian protein choices
What about non-meat options? Beyond eggs, dairy, beans, and tofu are excellent protein sources. Peanuts and dried beans were the only plant-based items that made our under-$1 list earlier (along with milk for lacto-ovo enthusiasts). Here are additional non-meat options with their prices, many of which are more economical than meats (generally cheaper than beef but pricier than chicken):
Dried black beans, $0.66 for 20 grams of protein ($3.29/lb, 100 grams of protein)
Canned black beans, $1.03 for 20 grams of protein ($1.29 per can with 25 grams of protein)
Eggs, $1.12 for 20 grams of protein if purchased at $4.69/dozen (extra large). Prices fluctuate, so calculate your own: large eggs contain 6 grams of protein each, extra-large have 7 grams.
Cheddar cheese, $1 per 20 grams of protein ($2.79 for an 8-ounce block of cheese with 56 grams of protein)
Extra firm tofu, $1.16 per 20 grams of protein ($2.49/lb, 43 grams of protein)
String cheese, low-moisture mozzarella, 88 cents ($3.69 for a 12-pack, 84 g)
Whey protein powder, $1.10 per 20 grams of protein ($38.25 for a tub containing 696 grams of protein)
Egg whites in a carton, $1.41 per 20 grams of protein ($3 for a 16-ounce carton with 50 grams of protein)
Greek yogurt, $1.50 per 20 grams of protein ($5.99 for a 32-ounce container with 80 grams of protein). Yogurt prices vary widely by brand and type, so shopping around is key here.
As with all price comparisons, verify the figures at your nearby store. Prices differ nationwide, and certain items (like eggs!) fluctuate daily. Sales, discounts, and frozen products can also help you secure better deals than those listed here. If you find a lower price than what we’ve noted, we’re thrilled for you.