12 Best Foods for Bone Health, According to a Dietitian

Quick summary

  • The best foods for bone health provide important nutrients like calcium, vitamin D, protein, magnesium, and vitamin K.
  • Eating a variety of nutrient-rich foods — including fortified plant milks, calcium-set tofu, leafy greens, legumes, nuts, and seeds — can help keep your bones strong.
  • Limiting your intake of certain foods (like sugary beverages, ultra-processed foods, and alcohol) can also help protect bone strength over time.

When it comes to bone health, calcium often gets the spotlight, but it’s only one part of the equation. Other nutrients — including vitamin D, protein, magnesium, and vitamin K — also play important roles in helping your body build, maintain, and protect your bones.

By adding more nutrient-rich foods to your plate and building balanced meals, you can provide your body with the building blocks it needs to keep your bones strong. In this article, we’re taking a look at the best foods to prioritize for better bone health, plus some tips for creating a more bone-healthy plate.

best foods for bone health: Minimalist still life of milk in a ribbed glass bottle with glasses on a white backdrop.

How your diet affects bone health

Your bones might seem solid and unchanging, but they’re actually pretty busy behind the scenes. Bone is living tissue that’s constantly being broken down and rebuilt, and your body needs the right nutrients to keep that process working efficiently.

Of course, calcium gets a lot of attention, but maintaining strong bones requires a whole lineup of nutrients. Protein provides the framework, vitamin D helps your body absorb calcium better, and minerals like magnesium support bone formation and contribute to the strength and structure of your bones.

On the flip side, certain dietary patterns and lifestyle habits can actually work against bone health over time. Excessive alcohol intake, very low-calorie diets, and diets lacking key nutrients can make it harder to maintain strong, healthy bones long-term.

Important nutrients for bone health

From providing the structure of your bones to boosting your ability to absorb and use key minerals, many nutrients play a central role in bone health. Here are some of the most important ones to prioritize.

Calcium

Calcium is the most abundant mineral in your body and a major building block of your bones. In fact, about 99% of the calcium in your body is stored in your bones and teeth, where it provides structure, strength, and stability.

Your body is constantly breaking down and rebuilding bone tissue, so getting enough calcium from your diet helps provide the supply your bones need to maintain their strength.

Vitamin D

Vitamin D helps enhance bone health by boosting calcium absorption. If you’re not getting enough vitamin D, your body might struggle to actually use the calcium you consume, even if your diet contains plenty.

Vitamin D also regulates bone remodeling, a process that’s constantly happening inside your body where old bone tissue is broken down and replaced with new bone.

As an added bonus, vitamin D also maintains muscle strength and coordination, which can improve balance and reduce the risk of falls that can lead to fractures.

Protein

Protein provides the collagen framework that gives bones their flexibility and structure. While minerals like calcium make bones hard and strong, protein creates the foundation that those minerals are built upon.

Getting enough protein is especially important as you get older because it also maintains muscle mass and strength, which can support balance and help reduce the risk of falls.

Magnesium

Magnesium might not get as much attention as calcium when it comes to bone health, but it’s still a very important piece of the puzzle. In fact, about 60% of your body’s magnesium is actually stored right in your bones!

Magnesium supports bone structure and regulates calcium balance in your body. Not only that, but it’s also involved in vitamin D metabolism to help keep your bones healthy and strong.

Vitamin K

Vitamin K is used to activate proteins involved in bone metabolism and helps calcium bind to the bone matrix. It’s also involved in bone remodeling, the ongoing process of replacing old bone tissue with new bone. In other words, it helps your body put calcium where it belongs.

Stay in the loop!

Healthy eating tips & recipes delivered directly to your inbox
Subscription Form

Best foods for bone health

Your bones need a wide range of nutrients to stay strong, and luckily, those nutrients are found in plenty of delicious foods. Here are some of the best foods for bone health to add to your shopping list.

1. Soy products

Soy foods like tempeh, soy milk, and edamame are loaded with plant-based protein, along with bone-boosting minerals like calcium, magnesium, and phosphorus.

What’s more, soy foods also contain isoflavones, which are compounds that have been linked to better bone health in postmenopausal women.

2. Nuts and seeds

Nuts and seeds pack several bone-supporting nutrients into a tiny package. A lot of varieties provide a range of bone-building nutrients, like magnesium, calcium, phosphorus, healthy fats, and protein.

Adding a handful of nuts or sprinkling seeds onto meals is an easy way to boost the nutritional value of your diet. A few of the best options include almonds, pumpkin seeds, chia seeds, sesame seeds, and flaxseeds.

3. Leafy greens

Leafy greens like kale, collard greens, and spinach are all solid additions to a diet for bone health.

This is because they’re loaded with nutrients that can help keep your bones healthy, like vitamin K, calcium, and magnesium, among others. Vitamin K is especially important because it activates proteins involved in bone metabolism, including osteocalcin.

4. Legumes

Legumes — including beans, chickpeas, and lentils — are a powerhouse for plant-based bone health. They provide protein, magnesium, phosphorus, potassium, and a host of other nutrients involved in maintaining strong bones.

5. Dairy products

When you think of the best foods for bone health, dairy products like milk, yogurt, and cheese are probably some of the first things that come to mind.

These foods are rich in calcium and often fortified with vitamin D to help increase its absorption even more. Plus, dairy products also provide high-quality protein, another key nutrient for bone health.

6. Fatty fish

Fatty varieties of fish like salmon, sardines, mackerel, and tuna are stellar sources of both protein and vitamin D. They also supply omega-3 fatty acids, which can help keep your bones healthy by preserving bone quality and supporting bone mineralization.

7. Prunes

Prunes may be a surprising addition to a list of the best foods for bone health, but recent research suggests that they’re actually one of the most effective fruits for preventing and reversing bone loss.

Not only are they a fantastic source of fiber, but they also provide nutrients like vitamin K, potassium, and antioxidants, all of which are involved in bone health.

8. Tofu

Tofu is one of the best foods for bone health, especially when it’s made with calcium sulfate. This type of tofu delivers a hearty chunk of calcium in each serving, along with protein, another important nutrient for maintaining strong bones.

9. Sweet potatoes

Sweet potatoes provide potassium and magnesium, two minerals that support stronger bones. They’re also rich in antioxidants and make an easy (and delicious) nutrient-dense addition to meals.

10. Mushrooms

Certain mushrooms are one of the few plant-based sources of vitamin D. When mushrooms are exposed to ultraviolet (UV) light, they can produce vitamin D, similar to how your skin does when it’s exposed to the sun.

That said, not all mushrooms contain vitamin D. Make sure you check the label and look for varieties that are vitamin D-enriched or UV-exposed.

11. Fortified foods

Fortified foods can help fill gaps in your diet, especially for nutrients that are harder to get through food alone, like vitamin D. This can be especially helpful for people following vegetarian or vegan diets, which may be lacking in certain nutrients.

Examples include fortified milk, juice, and cereal, along with certain types of nutritional yeast.

12. Eggs

Eggs are a stellar source of protein and often even provide a small amount of vitamin D, which is found primarily in the yolk.

Certain proteins found in eggs can also block bone resorption (aka the breakdown of bone tissue), which may lead to less bone loss and greater bone mineral density.

best foods for bone health: High-quality photo of dried prunes in a white bowl, set on a wooden board with natural lighting.

Foods to limit for better bone health

Just as important as filling your plate with the best foods for bone health is making sure certain foods don’t crowd them out. No foods are completely off-limits on a bone-healthy diet, but here are a few you might want to be more mindful of:

  • Too much sodium: Your body does need some sodium, but consistently eating a lot of salty foods can actually increase calcium loss through the urine. Pair salty foods with plenty of potassium-rich produce, like fruits and veggies, to help balance things out.
  • Excessive alcohol: A drink here and there isn’t likely to make or break your bone health, but regularly drinking too much alcohol can interfere with calcium balance and your body’s ability to build and maintain bone tissue.
  • Sugary drinks: Sodas and other sweetened beverages don’t offer much in the way of bone-supporting nutrients. Swapping some of these for options like fortified plant milks or calcium-rich beverages can be an easy way to give your bones some extra support.
  • Ultra-processed foods: Chips, candy, and packaged snacks can absolutely fit into a balanced diet, but they shouldn’t take the place of foods rich in protein, calcium, magnesium, and other nutrients your bones rely on.
  • Excessive caffeine: Your morning coffee doesn’t need to go anywhere, but very high caffeine intake can impact calcium balance, especially if your diet is already a little low in calcium.

How to build a bone-healthy plate

Building a bone-healthy plate is all about creating balanced meals that include a mix of protein, calcium-rich foods, colorful produce, and healthy fats.

Try this simple formula at your next meal:

  • Fill half your plate with fruits and veggies
  • Add a solid source of protein, like beans, lentils, tofu, or fish
  • Choose a calcium-rich food, such as milk, yogurt, cheese, or leafy greens
  • Include healthy fats, like nuts, seeds, or avocado

Building your plate this way makes it easier to consistently give your bones the nutrients they need, without logging every bite or micromanaging your meals.

FAQ

There isn’t one single best food for bone health. Instead, a combination of nutrient-dense foods like calcium-set tofu, fortified plant milks, dairy products, leafy greens, beans, nuts, seeds, and vitamin D-rich foods can provide the nutrients your bones need to stay strong.

Foods rich in calcium, vitamin D, protein, magnesium, and vitamin K can help support healthy bone density. Options like fortified plant milks, calcium-set tofu, dairy products, leafy greens, beans, lentils, nuts, seeds, and fatty fish are a great source of these important nutrients.

No! While milk, yogurt, and cheese are convenient sources of calcium, protein, and other bone-supporting nutrients, you can also get these nutrients from foods like fortified plant milks, tofu, leafy greens, beans, nuts, and seeds.

Some of the best vegan foods for bone health include fortified plant milks, calcium-set tofu, leafy greens, beans, lentils, nuts, seeds, and fortified foods. These foods provide important nutrients like calcium, vitamin D, protein, magnesium, and vitamin K to help maintain strong, healthy bones.

More articles on healthy aging

Conclusion

Strong bones aren’t built from one single food or nutrient, but from the consistent choices you make day after day.

By filling your plate with a variety of foods rich in calcium, vitamin D, protein, magnesium, vitamin K, and other important nutrients, you can help give your body the tools it needs to maintain healthy bones.

Whether you’re adding more leafy greens to your meals, picking fortified plant milk, or making sure you’re getting enough protein, a balanced, nutrient-dense diet is one of the best ways to keep your bones healthy at every stage of life.

You'll Also Love...