Nutrition7 min readBy Espen Opdahl

The Highest-Calcium Foods Per Calorie Aren't Dairy

Raw kale gives 725.7mg of calcium per 100 calories, the most of 188 USDA foods. The first dairy is 7th — and the food topping both lists was fortified.

Raw kale. Spend 100 calories on it and you get 725.7mg of calcium back, the best return of the 188 foods we hold with usable USDA calcium and calorie figures. Raw collards land a hair behind at 725.0mg, raw arugula third at 640.0mg. All three come straight out of USDA FoodData Central — kale is FDC 168421, collards FDC 170406, arugula FDC 169387 — so look them up and you should get our arithmetic back.

The first dairy food appears seventh. Fat-free milk lands at 348.6mg of calcium per 100 calories (FDC 171270), behind four leafy vegetables and a block of tofu. If you have been told your whole life that milk is the calcium food, the per-calorie ranking does not agree.

And then there is the row that makes this list different from every other nutrient ranking we have run. The one food that finishes fifth on both the per-calorie list and the per-100g list is calcium-set tofu — and it is there because a manufacturer added the calcium. The USDA row is "Tofu, raw, firm, prepared with calcium sulfate" (FDC 172475). The coagulant is in the name of the food. We will come back to that, because it is the most useful thing on this page.

The 12 highest-calcium foods per 100 calories

Ranked across all 188 foods we hold with usable USDA calcium and calorie values. Column four is the ranking itself. Column five is the one that decides whether the ranking means anything — the weight of food sitting behind each of those 100 calories.

FoodCalcium /100gCalories /100gCalcium /100 kcalGrams per 100 kcal
Kale, raw254mg35725.7mg286g
Collards, raw232mg32725.0mg313g
Arugula, raw160mg25640.0mg400g
Bok choy, raw61.9mg13476.2mg769g
Tofu, firm, calcium-set683mg144474.3mg69g
Spinach, raw99mg23430.4mg435g
Milk, fat-free (skim)129mg37348.6mg270g
Wakame seaweed, raw150mg45333.3mg222g
Celery, raw46.3mg14330.7mg714g
Kefir, lowfat, plain130mg43302.3mg233g
Swiss chard, raw51mg19268.4mg526g
Okra, raw82mg33248.5mg303g

The food that wins on both bases won because of an ingredient

Rankings like this one usually disagree with the per-100g version, and this one does: exactly one food appears in both top twelves. It is calcium-set tofu, fifth on each. Nothing else manages it — the per-100g leaders are seeds and hard cheeses, the per-calorie leaders are leaves.

So the obvious question is what tofu is doing that kale and parmesan cannot. The answer is in the USDA row's own name: "Tofu, raw, firm, prepared with calcium sulfate" carries 683mg of calcium per 100g (FDC 172475), and the calcium sulfate is the coagulant used to set it. It is a processing agent. Tofu set with magnesium chloride instead — nigari, the traditional Japanese coagulant — is a different food nutritionally, and it is not the row in this dataset. Our figure describes the calcium-set kind and nothing else.

This is worth stating plainly because it is the second time in two days our own data has produced a mineral headline that turned out to be manufacturing rather than biology. The USDA row for whey protein powder reports iron at 141 times Greek yogurt's, almost certainly because someone fortified it. The rule we now apply to our own tables: when a single food dominates a mineral ranking on both bases at once, check the label before you check the biology. Whole foods rarely win both ways. Formulated ones often do, because the nutrient was put there on purpose.

None of which makes calcium-set tofu a worse choice. 69g of it buys you 100 calories and 474mg of calcium, and it is a food people actually eat in that quantity. It just means the number is a fact about a recipe, not a fact about soybeans. If you buy tofu, the coagulant is on the ingredients list, and the two kinds are not interchangeable for this purpose.

Why the fifth column decides this one

Six of the top twelve are leaves or stems, which are water by weight before they are anything else. Reaching 100 calories therefore takes a bowl nobody has ever served: 769g of bok choy, 714g of celery, 526g of swiss chard, 435g of spinach. Kale is the mildest offender at 286g, and that is still an enormous amount of kale. The calcium-per-calorie figure is arithmetically sound and, on its own, describes a plate no one has ever sat down to.

Now look at the same table from the other end. Swiss cheese gives 226.5mg of calcium per 100 calories in 25g of cheese; parmesan gives 203.1mg in 24g; sardines with bone give 183.7mg in 48g; calcium-set tofu gives 474.3mg in 69g. Those rank 13th, 14th, 19th and 5th per calorie — but they are the rows where the portion and the number are both real at the same time.

This is where calcium behaves differently from the other minerals we have ranked. The iron-per-calorie list is won outright by leaves, and the practical alternatives sit well down it. Calcium has a genuine dense option near the top and seven of the top twenty per-calorie foods are dairy — fat-free milk 7th, kefir 10th, swiss cheese 13th, parmesan 14th, whole milk yogurt 15th, feta 17th, buttermilk 18th. Dairy loses the headline and wins the practical question, which is not the same as the myth being right.

The per-100g ranking is a different list almost entirely

Nearly every calcium list online sorts by milligrams per 100g, and that single choice rewrites the leaderboard. Roasted sesame seeds top that version at 989mg per 100g (FDC 170151) and drop to 20th per calorie at 175.0mg, since 565 calories ride along with every 100g of seed. Swiss cheese is 2nd per 100g and 13th per calorie. Cheddar is 4th and 21st. Dried chia seeds are 6th and 29th.

The leaves run the other way, and hard. Bok choy is 56th per 100g and 4th per calorie. Celery is 66th and 9th. Swiss chard is 62nd and 11th. Concentration, cost and feasibility are three separate questions, and each column answers exactly one: milligrams per 100g says how tightly packed the food is, milligrams per 100 calories says what the calcium costs you, and grams per 100 calories says whether the portion is one you would ever face. A ranking means nothing until you have all three, and most published lists hand you one.

Sesame seeds are the interesting exception in the other direction: 20th per calorie sounds mediocre until you notice that 100 calories of them is 18g — about two tablespoons. It is the rare food that is dense enough for the per-100g list and small enough for the portion column, and it loses the per-calorie ranking purely because it is fatty.

What this dataset cannot tell you

Three honest limits, because a ranking without them is a sales pitch.

The bottom two rows of the leaf group rest on very small calorie numbers. Bok choy is stored at 13 calories per 100g and celery at 14. At that scale a one- or two-calorie difference in the source row moves the per-100-calorie figure by 10–15%, and our own Atwater cross-check on those two rows disagrees with the stored calorie value by more than it does on any other food in the table. Treat 476.2mg and 330.7mg as "very high, imprecise" rather than as exact. Kale, collards, tofu, milk and the cheeses all cross-check within a few percent.

Absorption is not in this data, and for calcium it genuinely matters. Spinach, chard and other high-oxalate leaves bind a large share of their own calcium into a form the body takes up poorly, while the calcium in milk, kale and low-oxalate greens is absorbed far better. USDA FoodData Central reports what is in the food, not what crosses the gut wall. Spinach at 430.4mg per 100 calories is a real number that overstates what spinach does for you, and this dataset has no column that would tell you so. That is a limit of the ranking, not a footnote to it.

Cup, bunch and slice weights are not in this dataset. Every figure here is per 100g or per 100 calories because that is what the USDA rows contain. We are not going to invent a "cup of chopped kale" weight to make 286g feel smaller. One food was dropped entirely — garlic, which has no usable calcium value in our data — so the ranking covers 188 of our 189 foods.

So what should you actually eat?

If you want the per-calorie winner, it is raw kale at 725.7mg per 100 calories, and it beats spinach by 69% on this measure while also being the lower-oxalate of the two. Collards do nearly the same job at 725.0mg.

If you want the number and the portion to both be true, it is calcium-set tofu at 474.3mg per 100 calories in 69g, fat-free milk at 348.6mg in 270g, or a hard cheese at roughly 200mg in 25g. Those are the rows worth building a week around.

The catch is that none of this is decided by one meal. Calcium is a running total, and a running total is exactly the thing people stop tracking after four days because the app asks for a food, a portion, a unit and a confirmation every single time. Sunn is a WhatsApp thread: you type "big bowl of kale and a block of tofu" and the totals update. No app, no lookup, no fifth column to work out yourself.

E

Written by Espen Opdahl

Founder of Sunn. Building AI-powered nutrition coaching to make healthy eating simple. Nutrition data sourced from the USDA FoodData Central database.

Medical disclaimer: This content is for informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider before making changes to your diet or exercise routine.

Common Questions

Which food has the most calcium per calorie?

Raw kale, at 725.7mg of calcium per 100 calories — the highest of the 188 foods in our database with usable USDA calcium and calorie values (USDA FoodData Central, FDC 168421). Raw collards are a close second at 725.0mg (FDC 170406) and raw arugula third at 640.0mg (FDC 169387). The catch is portion size: 100 calories of raw kale is 286g of raw kale, because kale is only 35 calories per 100g.

Is dairy really the best source of calcium?

Not on a per-calorie basis. The first dairy food in the ranking is fat-free milk in 7th place at 348.6mg of calcium per 100 calories (FDC 171270), behind four leafy vegetables and calcium-set tofu. But dairy wins the practical question: 7 of the top 20 foods per calorie are dairy, and they deliver their calcium in portions people actually eat — swiss cheese gives 226.5mg per 100 calories in 25g of cheese, against 286g of kale.

Why does tofu have so much calcium?

Because a manufacturer added it. The USDA row is "Tofu, raw, firm, prepared with calcium sulfate" (FDC 172475), and calcium sulfate is the coagulant used to set the tofu — a processing agent, named in the food itself. That gives it 683mg per 100g and 474.3mg per 100 calories, making it the only food that appears in both our top-12 lists. Tofu set with magnesium chloride (nigari) instead is a different food nutritionally and is not this row, so check the ingredients list on what you buy.

How much calcium is in 100g of kale versus 100g of cheese?

Cheese has far more per 100g. Raw kale carries 254mg of calcium per 100g against swiss cheese's 890mg and grated parmesan's 853mg (FDC 168421, 746767, 171247). Kale only leads once you divide by calories, because it is 35 calories per 100g and swiss cheese is 393. Per 100g the leader is actually roasted sesame seeds at 989mg (FDC 170151), which fall to 20th per calorie.

Does the body absorb calcium from spinach as well as from milk?

No, and this dataset cannot show it. Spinach, swiss chard and other high-oxalate leaves bind much of their own calcium into a form absorbed poorly, while the calcium in milk, kale and low-oxalate greens is absorbed considerably better. USDA FoodData Central reports what is present in the food, not what crosses the gut wall, so spinach's 430.4mg per 100 calories is a real figure that overstates what spinach delivers in practice.

Get a personalized nutrition plan

Find out exactly what and how much to eat for your goals. Takes 60 seconds.

Take the free quiz

More from the Blog