MacroThriftMacroThrift

Protein head-to-heads · July 2026

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

Lentils (cooked) is 2.5x cheaper per gram of protein ($0.022/g vs $0.055/g), while Sardines (canned in oil) is the leaner choice at 11.8 g protein per 100 kcal against 7.8 g. Budget favours one, a calorie cap favours the other.

Food$/g protein30 g protein costsYou needkcal that come with itProtein/100 kcal
Lentils (cooked)$0.022$0.67333 g387 kcal7.8 g
Sardines (canned in oil)$0.055$1.65122 g254 kcal11.8 g

Full macros, per serving

Food (per serving)PricekcalProteinCarbsFat
Lentils (cooked) (100 g)$0.201169 g20 g0.4 g
Sardines (canned in oil) (100 g)$1.3520824.6 g0 g11.4 g

A week of protein from each

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

Lentils (cooked) costs $0.022 per gram of protein against $0.055, so it saves $22.86 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 7.8 g, which is what matters once calories, not dollars, are the thing you run out of first.

The amount you actually have to eat

Thirty grams of protein means 333 g of lentils (cooked), against 122 g for sardines (canned in oil). That is a real constraint, not a footnote: a price per gram only counts if the serving is one a person will finish. Treat lentils (cooked) as the base of a meal that other protein is added to, not as the protein itself.

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