Calcium without dairy: what actually works
Absorption rates differ enough between sources that the milligram figure on a label can be misleading. Spinach is the classic trap.
Calcium is one of the few nutrients where the number on the label routinely misleads, because absorption varies by a factor of ten between sources.
The targets
- Adults 19–50: 1,000 mg a day
- Women 51+, everyone 71+: 1,200 mg
- Adolescents: 1,300 mg
Absorption is the whole story
| Source | Calcium per serving | Absorbed |
|---|---|---|
| Bok choy, 1 cup cooked | 160 mg | ~54% |
| Kale, 1 cup cooked | 180 mg | ~50% |
| Broccoli, 1 cup cooked | 60 mg | ~50% |
| Milk, 1 cup | 300 mg | ~32% |
| Fortified soy milk, 1 cup | 300 mg | ~30% |
| Tofu set with calcium sulfate, ½ cup | 250–430 mg | ~30% |
| Sardines with bones, 3 oz | 325 mg | ~27% |
| Spinach, 1 cup cooked | 245 mg | ~5% |
That last row is the trap. Spinach looks like one of the best plant sources on paper and delivers roughly 12 mg of usable calcium, less than a quarter cup of broccoli.
The reason is oxalates: which bind calcium into a compound the gut cannot absorb. Spinach, Swiss chard, beet greens and rhubarb are all high in them. Kale, bok choy, collards and broccoli are low, which is why they absorb better than milk despite containing less.
The practical non-dairy list
Fortified plant milk: read the label, because content varies widely, and shake the carton: calcium settles, and the last glass in an unshaken carton can carry most of it while the first carries little.
Tofu set with calcium sulfate: check the ingredients. Tofu set with nigari (magnesium chloride) has far less. This is printed on the package and almost nobody reads it.
Canned sardines and salmon with the bones in. The bones are the point, they are soft enough to eat without noticing, and 3 oz of sardines is roughly a cup of milk.
Low-oxalate greens: kale, bok choy, collards, broccoli, watercress.
Fortified orange juice, almonds (75 mg per ounce), white beans, figs.
Two things that matter alongside it
Vitamin D. Without it, calcium absorption drops substantially regardless of intake. The two are a pair, and vitamin D is the one more people are short of, see the 2026 cognition finding for how commonly it comes up.
Split the dose. Absorption efficiency falls above roughly 500 mg at once. Two or three servings across the day beats one large one, the same principle as protein distribution, for a different reason.
Do not over-supplement
Unlike potassium, calcium supplements are widely available in large doses, and there is reasonable evidence that high supplemental intake, as opposed to dietary intake, may carry cardiovascular risk.
Food first. Supplement the gap if there is one, not the whole target.
Common questions
- How much calcium do I need a day?
- 1,000 mg a day for most adults, rising to 1,200 mg for women over 50 and everyone over 70. Adolescents need 1,300 mg during peak bone growth.
- What are the best non-dairy calcium sources?
- Fortified plant milks, tofu set with calcium sulfate, canned sardines and salmon with the bones, kale, bok choy, broccoli and collard greens. Low-oxalate greens absorb at over 50%, better than milk.
- Is spinach a good source of calcium?
- No, despite the label figure. Spinach is high in oxalates, which bind calcium and block absorption, only about 5% of its 245 mg per cooked cup is absorbed, roughly 12 mg. Kale and bok choy are far better greens for this.
Keep reading
Iron: the deficiency a food log actually catches
It is the most common nutrient deficiency in the world, the symptoms look like ordinary tiredness, and absorption changes several-fold depending on what you ate it with.
Potassium: the easier half of the blood pressure equation
Under 3% of US adults hit the potassium target. Raising it is often more achievable than cutting sodium further, and it works on the same mechanism from the other side.
Omega-3: how much EPA and DHA you actually need
The conversion from plant omega-3 to the forms your body uses runs at a few percent. Which makes the plant sources far less interchangeable with fish than the labels suggest.