Plenty of foods beyond milk and cheese deliver meaningful amounts of calcium. Fortified plant milks, leafy greens, canned fish with bones, beans, tofu, nuts, and even some fruits all contribute. With the right combinations, you can meet your full daily calcium needs without a single dairy product.
Most adults need 1,000 mg of calcium per day. Women over 50 and adults over 70 need 1,200 mg, and teenagers need 1,300 mg during peak bone growth. Those numbers are easier to hit than you might think once you know which non-dairy foods pack the most calcium per serving.
Fortified Foods: The Easiest Swap
If you’re replacing cow’s milk in your diet, calcium-fortified plant milks are the most direct substitute. A cup of fortified soy milk delivers about 350 mg of calcium, which is actually more than a cup of cow’s milk. Fortified rice milk provides around 283 mg per cup. Fortified orange juice, oat milk, and almond milk fall in a similar range, though the exact amount varies by brand. Always check the label, because unfortified versions contain almost no calcium.
Fortified cereals add another 200 to 300 mg per one-ounce serving, and fortified instant oatmeal provides about 110 mg per half cup. Starting your day with fortified cereal and plant milk can cover a third to half of your daily target before lunch.
Leafy Greens (With a Catch)
Dark leafy greens are the most celebrated non-dairy calcium source, but not all greens are equal. A cup of cooked collard greens delivers roughly 270 mg of calcium. Bok choy comes in at about 190 mg per cooked cup, and kale provides around 180 mg. Turnip greens and mustard greens also contribute meaningful amounts.
Here’s the catch: spinach looks impressive on paper, with 136 mg per half cup cooked, but your body absorbs very little of it. Spinach is loaded with oxalates, compounds that bind to calcium and prevent your gut from taking it in. Kale, on the other hand, is low in oxalates, and your body actually absorbs about 41% of its calcium. That’s a higher absorption rate than milk, which sits around 32%. Bok choy and broccoli are similarly well-absorbed. So when choosing greens for calcium, reach for kale, collards, bok choy, and turnip greens over spinach.
Canned Fish With Edible Bones
The secret ingredient in canned salmon and sardines isn’t the fish itself. It’s the tiny, soft bones that dissolve during the canning process and become easy to eat without noticing. A 3-ounce serving of canned salmon contains about 180 mg of calcium. The same portion of fresh salmon? Only about 36 mg. That fivefold difference comes entirely from the bones.
Canned sardines are similarly rich in calcium and have the added benefit of being high in vitamin D, which plays a direct role in helping your intestines absorb calcium. Toss sardines on toast or mix canned salmon into patties, and you’re getting a meaningful calcium boost with each serving.
Beans, Tofu, and Soy
Tofu can be one of the richest non-dairy calcium sources available, but the amount varies enormously depending on how it’s made. Tofu prepared with calcium salt (listed on the label as calcium sulfate) contains anywhere from 275 to 861 mg per half cup. Tofu made without calcium salt contains far less. This is one case where reading the ingredient list genuinely matters.
White beans provide about 161 mg per cup, making them a solid addition to soups, stews, and salads. Soybeans (edamame) offer 98 mg per cup. These aren’t blockbuster numbers on their own, but beans show up in meals frequently enough to add up over a week.
Nuts, Seeds, and Dried Fruit
Almonds are the standout nut for calcium, with about 72 mg per ounce (roughly 23 almonds). That’s a decent contribution from a snack you might already eat. Sesame seeds and chia seeds are even more concentrated, though you typically eat them in smaller amounts.
Dried figs deliver about 82 mg for just three pieces, making them one of the better fruit sources of calcium. A medium orange contributes 52 mg, and a cup of blackberries adds 46 mg. None of these will get you to your daily goal alone, but they fill gaps throughout the day.
Other Sources Worth Knowing
A few less obvious foods round out the list:
- Blackstrap molasses: 177 mg per tablespoon, making it one of the most calcium-dense foods by volume. Stir it into oatmeal or use it in baking.
- Okra: 89 mg per half cup cooked.
- Broccoli: 36 mg per half cup cooked, with good absorption similar to kale.
- Rhubarb: 174 mg per half cup cooked, though like spinach it contains oxalates that reduce absorption.
Why Absorption Matters as Much as Content
The milligrams listed on a nutrition label don’t tell the whole story. Your body absorbs calcium at different rates depending on what else is in the food. Oxalates (found in spinach, rhubarb, and beet greens) and phytates (found in whole grains and some beans) bind calcium and reduce how much you actually take in. Low-oxalate vegetables like kale, bok choy, and broccoli deliver calcium your body can use more efficiently than many higher-calcium foods on paper.
Vitamin D is the other critical piece. It directly increases calcium absorption in your intestines, and when your body senses that calcium levels are low, or during periods of higher demand like pregnancy, vitamin D ramps up that absorption even further. If you’re relying on non-dairy sources, making sure your vitamin D levels are adequate (through sunlight, fatty fish, or fortified foods) helps you get more out of every calcium-containing meal.
Putting It Together in a Day
A realistic dairy-free day might look like this: fortified oatmeal with almond milk at breakfast (around 390 mg), a cup of cooked kale with white beans at lunch (about 340 mg), a handful of almonds as a snack (72 mg), and canned salmon with bok choy at dinner (370 mg). That totals over 1,170 mg, close to the daily target for most adults, with no dairy in sight.
The key is variety. No single non-dairy food replaces a glass of milk on its own, but combining fortified foods, leafy greens, beans, and fish with bones throughout the day makes hitting your target straightforward. Prioritize low-oxalate greens over spinach, choose tofu made with calcium salt, and keep your vitamin D intake up to make sure your body actually uses what you’re eating.

