All posts

The cheapest sources of protein per gram

By Ryan Rodriguez Published August 4, 2026 proteincost

To find the cheapest protein in your store, divide the price of the package by the total grams of protein inside it. That single number — cost per gram of protein — reorders the meat aisle in a way the shelf price never does, and it is the fastest way to cut a food budget without eating less.

Here is the arithmetic, and what it usually turns up.

The calculation

Two numbers, both on the package:

  1. Total grams of protein. Take the grams per serving from the nutrition label and multiply by the number of servings in the container. The label gives you both.
  2. The price you actually pay.

Then divide price by total protein.

A 32 oz tub of Greek yogurt with 17 g of protein per 8 oz serving holds about 68 g of protein. At $4.29, that is roughly 6.3 cents per gram.

Do this for the six or seven proteins you buy regularly and you have a ranking that will stay useful for months. You do not need to redo it every shop — relative prices move slowly even when absolute ones do not.

What the ranking usually looks like

The exact figures depend on where and when you shop, but the order is remarkably stable across regions:

Reliably cheap. Dried lentils and beans, eggs, canned tuna, chicken thighs, cottage cheese, plain Greek yogurt in large tubs, tofu, milk.

Middle. Chicken breast, ground beef, canned salmon, cheese, frozen shrimp.

Reliably expensive. Steak and most cuts of beef, fresh fish, deli meat, bacon, pre-cooked or breaded chicken, protein bars, protein shakes, anything marketed with "protein" on the front of the package.

That last group is the one worth sitting with. Foods that advertise protein are, as a rule, among the most expensive ways to buy it. You are paying for the convenience and the packaging, which is a legitimate thing to buy — just know that is what you are buying.

Three things that distort the number

Cooked versus raw weight. Meat loses roughly a quarter of its weight in cooking, and the label is for raw. This makes raw meat look worse per gram than it eats, and it is why comparing a raw chicken label to a cooked rotisserie chicken misleads.

Bones and shells. Bone-in thighs are cheaper per pound and more expensive per gram of protein than the sticker suggests, because you are paying for weight you will not eat. Sometimes still worth it — bones make stock — but the number should reflect it.

Protein quality. A gram of protein from lentils is not identical to a gram from eggs in terms of amino acid profile. For most people eating a varied diet this does not matter much, because the variety solves it. If you are eating from a narrow set of plant sources, it is worth reading further.

The trap of optimising this alone

You can drive cost per gram of protein very low and end up somewhere unpleasant. Lentils every night is cheap and it is also a plan you will abandon in nine days.

The number is a tool for finding substitutions you will actually accept, not a target to minimise. Swapping chicken breast for thighs in a dish where you would not notice is free money. Swapping every dinner for beans is not a budget strategy, it is a phase.

The useful move is to identify the two or three expensive proteins that are load-bearing in your week and see whether one of them has a cheaper neighbour you would be equally happy with.

Doing it without the arithmetic

This is exactly the calculation MealMaxx runs in the background — every meal carries a cost per serving alongside its calories and protein, priced against the stores you have selected, so the comparison is already made when you are choosing what to cook.

For more on the other two measures worth knowing, see the real cost of eating well.

MealMaxx is a planning tool, not medical or nutritional advice. Targets are a starting point, not a prescription — talk to a qualified professional before making significant changes to your diet.