8 Grocery Staples Ranked by Cost Per 1,000 Calories
Nobody sells food by the calorie, which is strange, because calories are the one thing every food in the store has in common.
We buy by weight, by count, by package. A pound of ground beef and a pound of flour are the same number on a scale and completely different amounts of food. So I took eight staples with published federal average prices, pulled their energy and protein content from USDA reference values, and worked out what each one costs per 1,000 calories and per gram of protein.
I have not seen this table anywhere else, which is why I built it. The arithmetic is below and you can redo it with your own shelf prices.
The table
| Item | Price | Calories per unit | Cost per 1,000 cal | Cost per gram protein |
|---|---|---|---|---|
| Flour, white all-purpose | $0.55 / lb | 1,652 | $0.33 | $0.012 |
| Bread, white pan | $1.82 / lb | 1,202 | $1.51 | $0.044 |
| Milk, whole | $4.32 / gal | 2,306 | $1.87 | $0.035 |
| Eggs, grade A large | $2.14 / doz | 864 | $2.48 | $0.028 |
| Potatoes, white | $0.92 / lb | 349 | $2.64 | $0.103 |
| Chicken legs, bone-in | $1.71 / lb | 637 | $2.68 | $0.021 |
| Ground beef, 80/20 | $6.83 / lb | 1,153 | $5.92 | $0.089 |
| Chicken breast, boneless | $4.14 / lb | 545 | $7.60 | $0.040 |
Flour to chicken breast is a factor of twenty-three. Same store, same aisle system, same shopper.
Prices are Bureau of Labor Statistics average price data for US urban areas, taken from the most recent month available for each item between February and July 2026. Calorie and protein figures are USDA reference values applied to as-purchased weight.
How I did the arithmetic, so you can check it
This is the part most price articles skip, and it is where all the honest disagreement lives.
Everything is calculated on as-purchased weight, not cooked weight. A pound of raw ground beef is a pound, even though it will weigh less after you cook it. Doing it any other way would require me to guess how you cook, and the whole point is to compare what you hand the cashier.
For bone-in chicken legs I assumed about 65% of the purchased weight is edible meat and skin. That is a standard yield figure and it is also the single biggest assumption in this table. If your yield is 60%, chicken legs get worse. If it is 70%, they get better. They stay cheap either way. https://americankitchentales.com/buying-in-bulk-real-savings-or-a-false-bargain/
For milk I used whole milk at 61 calories per 100 ml across a 3.78 litre gallon.
For eggs I used a 50-gram large egg at 72 calories and 6.3 grams of protein.
Nothing here accounts for what you throw away, what burns, or what your kids refuse to eat. Those losses are real and they hit expensive foods hardest, which makes the spread in the table conservative rather than exaggerated.
What the numbers say that surprised me
Flour wins both metrics. I expected it to win on calories. I did not expect it to also be the cheapest protein on the list at 1.2 cents a gram, beating chicken legs, eggs, and everything else. Wheat protein is lower quality than egg or meat protein in terms of amino acid profile, which matters, but per dollar it is not close.
Potatoes are cheap calories and terrible protein. At 2.6 cents per 1,000 calories they look great, and at 10.3 cents per gram of protein they are the worst thing on the list, worse than ground beef. Potatoes are an energy source that happens to contain trace protein. Anyone treating them as a protein food is paying a lot for a little.
Chicken breast is the most expensive calorie in the study by a wide margin, and it is not even the best protein value. Boneless chicken breast costs nearly twice per gram of protein what bone-in legs cost. You are paying for convenience and for the absence of bone, and the market prices that convenience aggressively.
Ground beef is expensive on both counts right now, which is a moment-in-time result rather than a permanent truth. Beef is coming off record highs driven by the smallest US cattle herd since 1951. Run this table in 2029 and that row moves.
The argument this actually settles
There is a long-running fight about whether junk food is cheaper than real food. I have written before that it is not cheaper than some real food, and this table shows why the argument keeps going in circles.
Both sides are measuring different things.
If you measure by calorie, the cheapest calories in America are flour, potatoes, and bread. Those are not junk food. They are the base of every traditional cuisine on earth. The “cheap calories” story is real, but the cheap calories are not chips and soda, they are staples.
If you measure by nutrient, the ranking scrambles completely, and the winners are flour, chicken legs, and eggs.
So the honest version is narrower than either slogan: highly processed food is not the cheapest food, it is the cheapest food that requires no cooking. Flour at 33 cents per thousand calories requires an oven, time, and knowing what to do with it. That is a real cost, just not one that shows on a receipt, and it is the cost that actually separates households.
What I take from it
The cheapest way to eat well in an American supermarket runs through flour, eggs, bone-in chicken, and milk, in roughly that order, plus vegetables for reasons this table cannot measure.
Fiber, vitamins, and micronutrients do not appear here at all. A diet optimized purely on these two columns would be nutritionally awful, and I want to say that plainly before anyone builds a meal plan out of a spreadsheet. Cost per calorie is one lens. It is a useful lens for understanding why grocery bills behave the way they do, and a bad lens for deciding what to eat.
The practical takeaway is smaller. When something looks expensive, check what you are actually buying. Chicken breast is not expensive meat; it is expensive water and convenience. Potatoes are not a cheap protein; they are cheap starch. Once you see the per-unit numbers, a lot of grocery advice stops making sense, including some of mine.
Run the table yourself. Take five things you buy every week, divide the price by what is actually in the package, and see which ones survive.