# Foods high in calcium: 30 dairy and non-dairy sources, ranked

Milk isn’t the only way to reach your calcium target. Here are 30 foods ranked with USDA numbers, which ones your body actually absorbs well, and a full dairy-free day that gets you there.

Source: https://nourishandstrong.com/foods-high-in-calcium
Published: 2026-11-08
Updated: 2026-11-08
By: the Nourish & Strong team
General information, not medical advice.

**The short answer:** the foods highest in calcium are calcium-set tofu (553 mg in a quarter block), fortified plant milks and orange juice, plain yogurt (448 mg a cup), canned sardines with bones, ricotta and hard cheeses. The best non-dairy sources are tofu, fortified drinks, canned fish with bones, beans and greens like collards, kale and bok choy. Spinach has plenty of calcium, but you absorb very little of it.

Most adults need 1,000 to 1,200 mg of calcium a day, and food labels count 1,300 mg as 100% of the Daily Value. Many people fall short. NIH survey data show average intakes from food of 1,083 mg a day for men and 842 mg for women. Food is the place to close that gap first, and the table below shows how.

## What foods are high in calcium?

Tofu made with calcium, dairy foods, fortified drinks and canned fish with bones are the foods highest in calcium. These numbers come from USDA FoodData Central (SR Legacy). The % DV column uses the 1,300 mg Daily Value, and the FDA counts anything at 20% or more as a high source.

| Food | Portion | Calcium | % DV | Type |
| --- | --- | --- | --- | --- |
| Firm tofu, made with calcium sulfate | ¼ block (81g) | 553 mg | 43% | Non-dairy |
| Almond milk, unsweetened, fortified | 1 cup (262g) | 482 mg | 37% | Non-dairy, fortified |
| Plain low-fat yogurt | 1 cup (245g) | 448 mg | 34% | Dairy |
| Canned sardines with bones | 1 can (92g) | 351 mg | 27% | Non-dairy |
| Orange juice with added calcium | 1 cup (249g) | 349 mg | 27% | Non-dairy, fortified |
| Part-skim ricotta | ½ cup (124g) | 337 mg | 26% | Dairy |
| Parmesan, grated or hard | 1 oz (28g) | 336 mg | 26% | Dairy |
| Plain low-fat kefir | 1 cup (243g) | 316 mg | 24% | Dairy |
| Soy milk, unsweetened, fortified | 1 cup (243g) | 301 mg | 23% | Non-dairy, fortified |
| 2% milk | 1 cup (244g) | 293 mg | 23% | Dairy |
| Collard greens, cooked | 1 cup (190g) | 268 mg | 21% | Non-dairy |
| Swiss cheese | 1 oz (28g) | 252 mg | 19% | Dairy |
| Cottage cheese, 2% | 1 cup (226g) | 251 mg | 19% | Dairy |
| Spinach, cooked | 1 cup (180g) | 245 mg | 19% | Non-dairy, poorly absorbed |
| Part-skim mozzarella | 1 oz (28g) | 222 mg | 17% | Dairy |
| Cheddar | 1 oz (28g) | 201 mg | 15% | Dairy |
| Turnip greens, cooked | 1 cup (144g) | 197 mg | 15% | Non-dairy |
| White beans, canned | 1 cup (262g) | 191 mg | 15% | Non-dairy |
| Greek yogurt, plain nonfat | 1 container (170g) | 187 mg | 14% | Dairy |
| Canned pink salmon with bones | 3 oz (85g) | 183 mg | 14% | Non-dairy |
| Chia seeds | 1 oz (28g) | 179 mg | 14% | Non-dairy |
| Kale, cooked | 1 cup (118g) | 177 mg | 14% | Non-dairy |
| Soybeans, cooked | 1 cup (172g) | 175 mg | 13% | Non-dairy |
| Mustard greens, cooked | 1 cup (140g) | 165 mg | 13% | Non-dairy |
| Bok choy, cooked | 1 cup (170g) | 158 mg | 12% | Non-dairy |
| Tahini (sesame paste) | 2 tbsp (30g) | 128 mg | 10% | Non-dairy |
| Okra, cooked | 1 cup (160g) | 123 mg | 9% | Non-dairy |
| Dried figs | ½ cup (75g) | 121 mg | 9% | Non-dairy |
| Almonds | 1 oz (28g) | 76 mg | 6% | Non-dairy |
| Broccoli, cooked | 1 cup (156g) | 62 mg | 5% | Non-dairy |

One US cup is about 240 ml, and an ounce is about 28g. Fortified foods vary a lot by brand, so read the label. Tofu only has this much calcium when it’s made with a calcium salt, which the label lists as calcium sulfate. Greek yogurt has less calcium than regular yogurt: USDA lists 110 mg per 100g for plain nonfat Greek against 183 mg for plain low-fat yogurt. If you’re weighing whole milk against low-fat, the NIH notes that the more fat a dairy food has, the slightly less calcium it contains. Our look at [whether full-fat dairy is healthy](https://nourishandstrong.com/is-full-fat-dairy-healthy) covers the rest of that choice.

## What are the best non-dairy calcium sources?

The best non-dairy calcium sources are calcium-set tofu, fortified soy or almond milk, fortified orange juice and canned sardines or salmon with the soft bones left in. Each one gets you a big share of the day in a single serving. After those come white beans, soybeans, chia seeds, tahini and leafy greens such as collards, turnip greens, kale, mustard greens and bok choy.

The NIH lists people with lactose intolerance, a milk allergy or a vegan diet among those most likely to fall short. It says people who skip dairy usually need fortified foods or supplements to reach the target. If lactose is your only problem, lactose-free milk has the same calcium as regular milk, and MedlinePlus says most people who aren’t severely lactose intolerant can still digest hard cheeses and yogurt.

## Does spinach block calcium absorption?

Spinach mostly blocks its own calcium. It’s rich in oxalic acid, which binds calcium into a salt your gut can’t absorb. The NIH puts absorption at about 5% for spinach against 27% for milk. Harvard’s Nutrition Source works it through: a cup of cooked spinach holds about 260 mg of calcium, but only about 13 mg gets used.

Other greens are a different story. Kale, broccoli and cabbage don’t have much oxalate, so their calcium is absorbed about as well as milk’s, the NIH says. Harvard puts bok choy at about 50% absorption, so a cup of cooked bok choy delivers nearly as much usable calcium as a cup of milk. Here’s how absorption compares:

| Food | Share of calcium absorbed | Source |
| --- | --- | --- |
| Bok choy | About 50% | Harvard |
| Dairy and most fortified foods | About 30% | NIH, Harvard |
| Calcium-set tofu, fortified orange juice | Similar to milk | Harvard |
| Almonds | About 20% | Harvard |
| Spinach | About 5% | NIH |

So keep eating spinach for everything else it offers, just don’t count it toward your calcium. The NIH lists collard greens, sweet potatoes, rhubarb and beans as other high-oxalate foods, and phytic acid in some plants binds calcium too. It adds that in a varied diet these effects probably matter little. Harvard suggests eating spinach at a different meal from your main calcium foods.

## Can you get enough calcium without dairy?

Yes, you can get enough calcium without dairy, but it takes planning, and fortified foods make it much easier. Here’s one dairy-free day built from the table, with numbers from USDA:

| Meal | What you eat | Calcium |
| --- | --- | --- |
| Breakfast | Oats made with 1 cup fortified soy milk, topped with 1 oz chia seeds | 480 mg |
| Lunch | 1 cup canned white beans with 1 cup cooked kale | 368 mg |
| Snack | 1 oz almonds and ½ cup dried figs | 197 mg |
| Dinner | Stir-fry with 1 cup bok choy and 2 tbsp tahini sauce | 286 mg |
| **Total** |  | **1,331 mg (102% DV)** |

Swap the dinner for a quarter block of calcium-set tofu and you add 553 mg on its own. Absorption varies, as the table above shows, so lean on the fortified milk, tofu, kale and bok choy rather than nuts. Vitamin D matters as well, because your gut needs it to absorb calcium, the NIH says. Our guide on [how to get vitamin D](https://nourishandstrong.com/how-to-get-vitamin-d) covers sun, food and supplements.

## Which foods are high in calcium and magnesium?

Chia seeds, soybeans, calcium-set tofu, almonds, dried figs and tahini are high in both calcium and magnesium. An ounce of chia gives you 179 mg of calcium and 95 mg of magnesium, and a cup of cooked soybeans gives 175 mg and 148 mg, according to USDA data. The full magnesium ranking lives in our list of [foods high in magnesium](https://nourishandstrong.com/foods-high-in-magnesium). Several of these, along with yogurt and white beans, also show up among the [foods high in potassium](https://nourishandstrong.com/foods-high-in-potassium).

## How do you know if you’re getting enough calcium?

The simplest way to know if you’re getting enough calcium is to add up a typical day using the table above. A routine blood test won’t tell you, because the NIH says blood calcium levels aren’t a good reflection of your calcium status. Count your milk, yogurt, cheese, fortified drinks and tofu, then add a little for greens and beans.

- Well short: add one high source every day, such as a cup of yogurt, a cup of fortified soy milk or a portion of calcium-set tofu.
- Close to your target: keep going and vary your sources, mixing well-absorbed foods with the rest.
- Still short after changing what you eat: talk to your doctor or a dietitian. Our guide to [calcium supplements](https://nourishandstrong.com/calcium-supplements) explains the types and how much to take at once.

Over the long run, too little calcium can lead to osteoporosis, the NIH says. A bone density (DXA) scan is what shows your lifetime calcium status, so ask your doctor whether you need one. Building calcium into breakfast is often the easiest win, and our [high-protein breakfast ideas](https://nourishandstrong.com/high-protein-breakfast-ideas) include several yogurt and milk options. If bananas are already your go-to with that yogurt, here’s a book to keep it interesting.

## Quick questions

### How much calcium is in a glass of milk?

A cup (8 oz) of 2% milk has about 293 mg of calcium, or 23% of the Daily Value, according to USDA data. Kefir has slightly more at about 316 mg a cup. Lactose-free milk has the same calcium as regular milk, the NIH says, so it counts just the same.

### How much calcium is in an egg?

A large egg has only about 28 mg of calcium, roughly 2% of the Daily Value, according to USDA data. Eggs are a great source of protein, but they won’t move your calcium total much. Pair them with yogurt, milk, fortified soy milk or cheese if you want a calcium-rich breakfast.

### How much calcium is in broccoli?

A cup of cooked broccoli has about 62 mg of calcium, or 5% of the Daily Value, according to USDA data. That’s modest, but the NIH says calcium from broccoli is absorbed about as well as calcium from milk. Cooked collard greens give far more, at about 268 mg a cup.

### How much calcium is too much?

The upper limit for adults is 2,000 to 2,500 mg a day from food and supplements combined, depending on age, according to the NIH. Higher intakes from supplements may raise the risk of kidney stones. If you take a calcium supplement, count it along with your food when you add up your day.

### Do foods high in calcium cause kidney stones?

Calcium-rich foods don’t appear to cause kidney stones, and may help prevent them. Harvard’s Nutrition Source says large studies linked a high intake of calcium foods with a lower risk of stones, likely because calcium binds oxalate in the gut. Calcium pills were linked to a higher risk. If you’ve had stones, ask your doctor what suits you.

### What happens if you don’t get enough calcium?

Not getting enough calcium over many years can lead to osteoporosis, which makes bones weak and more likely to break, the NIH says. When blood calcium drops, Harvard explains, a hormone signals your bones to release calcium, so your bones cover the shortfall. That’s why counting your daily intake is more useful than waiting for signs.

This article is general information, not medical advice. Calcium needs differ with age, sex, pregnancy and health conditions. If you have kidney stones, kidney disease, a bone condition or take regular medicines, talk to your doctor or a registered dietitian before making big changes to your calcium intake or adding a supplement.

## Sources

- [NIH Office of Dietary Supplements. Calcium: Fact Sheet for Health Professionals, updated June 2026](https://ods.od.nih.gov/factsheets/Calcium-HealthProfessional/)
- [Harvard T.H. Chan School of Public Health, The Nutrition Source. Calcium](https://nutritionsource.hsph.harvard.edu/calcium/)
- [MedlinePlus. Calcium in diet](https://medlineplus.gov/ency/article/002412.htm)
- [USDA FoodData Central. SR Legacy food composition data](https://fdc.nal.usda.gov/)
