MacroThriftMacroThrift

Protein head-to-heads · July 2026

Sardines (canned in oil) vs Soybeans (dried, raw): which protein is cheaper?

USDA macros joined to current US grocery prices, reduced to the two numbers that decide it: dollars per gram of protein, and protein per calorie.

Soybeans (dried, raw) is 5.7x cheaper per gram of protein ($0.010/g vs $0.055/g), while Sardines (canned in oil) is the leaner choice at 11.8 g protein per 100 kcal against 8.2 g. Budget favours one, a calorie cap favours the other.

Food$/g protein30 g protein costsYou needkcal that come with itProtein/100 kcal
Sardines (canned in oil)$0.055$1.65122 g254 kcal11.8 g
Soybeans (dried, raw)$0.010$0.2982 g367 kcal8.2 g

Full macros, per serving

Food (per serving)PricekcalProteinCarbsFat
Sardines (canned in oil) (100 g)$1.3520824.6 g0 g11.4 g
Soybeans (dried, raw) (100 g)$0.3544736.5 g30.2 g19.9 g

A week of protein from each

Hitting a common 100 g/day protein target from soybeans (dried, raw) alone costs $6.71 a week; from sardines (canned in oil) alone, $38.41. That is a gap of $31.70 every week for the same protein. In practice you mix sources: the planner computes the cheapest mix for your exact target and calorie cap, live from the same dataset.

Budget says one, calories say the other

Soybeans (dried, raw) costs $0.010 per gram of protein against $0.055, so it saves $31.70 a week at a 100 g/day target. Sardines (canned in oil) answers a different question: 11.8 g of protein per 100 kcal against 8.2 g, which is what matters once calories, not dollars, are the thing you run out of first.

The gap here is 5.7x, which is unusual

Most matchups in this dataset land inside 2x. Sardines (canned in oil) costing 5.7x what soybeans (dried, raw) does for the same gram of protein means you are buying something other than protein: processing, shelf stability, convenience or flavour. Worth paying for sometimes, but name it, because at a 100 g/day target that gap is $31.70 a week and $1648.52 a year.

One of these is a convenience purchase

Sardines (canned in oil) ranks #22 of 25 on cost per gram of protein, near the bottom. It is not a bad food, it is an expensive way to buy protein: $1.65 per 30 g against $0.29 for soybeans (dried, raw). If it is in your basket for the protein, swap it. If it is there because it travels well or you enjoy it, that is a different and perfectly good reason.

Compare against other foods

Frequently asked

Which is cheaper for protein, sardines (canned in oil) or soybeans (dried, raw)?
Soybeans (dried, raw), at $0.010 per gram of protein against $0.055 for sardines (canned in oil) (July 2026 US grocery prices). A 30 g protein serving costs $0.29 vs $1.65.
Which has more protein per calorie, sardines (canned in oil) or soybeans (dried, raw)?
Sardines (canned in oil), with 11.8 g protein per 100 kcal against 8.2 g for soybeans (dried, raw), 1.4x leaner. That matters when you are cutting and calories are the binding constraint.
Which should I buy, sardines (canned in oil) or soybeans (dried, raw)?
Depends on your constraint. On a tight budget with room in your calories, soybeans (dried, raw) is cheaper per gram of protein. On a calorie-capped cut, sardines (canned in oil) gives you 1.4x more protein per calorie and is usually worth its $0.055/g price.

Prices are representative US grocery prices as of July 2026; your store will differ. Educational content, not medical or dietary advice. Dataset: free download, CC-BY.