MacroThriftMacroThrift

Protein head-to-heads · July 2026

Sardines (canned in oil) vs Tofu (firm): 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.

Tofu (firm) is 2.3x cheaper per gram of protein ($0.024/g vs $0.055/g), while Sardines (canned in oil) is the leaner choice at 11.8 g protein per 100 kcal against 11.8 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
Tofu (firm)$0.024$0.71176 g254 kcal11.8 g

Full macros, per serving

Food (per serving)PricekcalProteinCarbsFat
Sardines (canned in oil) (100 g)$1.3520824.6 g0 g11.4 g
Tofu (firm) (100 g)$0.4014417 g3 g9 g

A week of protein from each

Hitting a common 100 g/day protein target from tofu (firm) alone costs $16.47 a week; from sardines (canned in oil) alone, $38.41. That is a gap of $21.94 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

Tofu (firm) costs $0.024 per gram of protein against $0.055, so it saves $21.94 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 11.8 g, which is what matters once calories, not dollars, are the thing you run out of first.

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.71 for tofu (firm). 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 tofu (firm)?
Tofu (firm), at $0.024 per gram of protein against $0.055 for sardines (canned in oil) (July 2026 US grocery prices). A 30 g protein serving costs $0.71 vs $1.65.
Which has more protein per calorie, sardines (canned in oil) or tofu (firm)?
Sardines (canned in oil), with 11.8 g protein per 100 kcal against 11.8 g for tofu (firm), 1.0x leaner. That matters when you are cutting and calories are the binding constraint.
Which should I buy, sardines (canned in oil) or tofu (firm)?
Depends on your constraint. On a tight budget with room in your calories, tofu (firm) is cheaper per gram of protein. On a calorie-capped cut, sardines (canned in oil) gives you 1.0x 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.