Skip to main content
Diet and Nutrition

22 Foods to Improve Bone Health and Bone Density

Candace Nelson, MS, CNFarzon A. Nahvi, MD
Written by Candace Nelson, MS, CN | Reviewed by Farzon A. Nahvi, MD
Updated on January 22, 2025

Key takeaways:

  • Getting enough calcium and vitamin D is key for strong bones. If your calcium levels become too low, your body takes it from your bones.

  • Adding foods high in calcium and vitamin D to your diet will help with calcium absorption and bone strengthening. These foods include leafy greens, dairy products, and protein sources, like eggs and tofu.

  • Limiting foods like sugar, alcohol, and heavily processed foods is also important for maintaining healthy, strong bones.

  • Along with a bone-healthy diet, weight-bearing and resistance-training exercises can promote better bone health.

Strong bones give you support and let you move and stand up straight. You can build up your bone mass up until your 20s by eating bone-healthy foods. After your 30s, the balance tips and you start to lose more than you build. 

Everyone’s bones naturally weaken with age. And older people tend to absorb less calcium from their diet, which worsens the total loss of bone mass. Bone loss also speeds up after menopause

Osteopenia occurs when you break down more bone than you build. This is a precursor to osteoporosis, a disorder in which bones lose mineral density. This makes bones fragile and at risk of fractures — even with minor stumbles and injuries.

But there are steps you can take to support your bone health, such as doing weight-bearing and resistance exercises and prioritizing bone-strengthening foods. Many of these foods form the basics of any healthy diet. This includes eating various vegetables (especially greens) and lean protein while keeping sugar, refined carbohydrates, and alcohol to a minimum.

Best foods for bone health and bone density

Reviewed by Alexandra Schwarz, MD | November 30, 2023

Certain micronutrients are especially key to building strong bones. The best bone-strengthening foods supply calcium, vitamin D, vitamin A, and other key micronutrients. These are in foods such as:

  • Fruits

  • Vegetables

  • Whole grains

  • Poultry

  • Fish

  • Nuts and legumes

  • Low-fat dairy products

The Mediterranean diet focuses heavily on plant-based foods and provides a helpful framework for a bone-healthy diet

Here’s a list of foods to prioritize as part of a bone-healthy diet, broken down by nutrient.

Calcium

Calcium is the most common mineral in the body. It often comes to mind when people think of bone health. Calcium also assists in muscle contraction and moving blood around the body. When the body doesn’t have enough calcium, it pulls calcium out of the bones.

Calcium-rich foods include dairy and plenty of plant-based foods, including:

  1. Yogurt

  2. Milk

  3. Cheese

  4. Green vegetables, like kale, broccoli, and Chinese cabbage

  5. Soft-boned fish, like sardines and salmon

  6. Grains, like quinoa

  7. Tofu

  8. Nuts and seeds, like sesame seeds, almonds, and hazelnuts

  9. Fortified bread, cereal, and tortillas

  10. Fortified orange juice

  11. Fortified, plant-based milk

Good to know: Many foods have antinutrients that can lower your body’s ability to absorb calcium. These include phytic acid (in beans, wheat bran, and nuts) and oxalic acid (in spinach, collard greens, and sweet potatoes). While these foods provide various nutritional benefits, they aren’t always the best options for increasing your calcium. This is why it’s important to eat a range of plant-based foods that provide you with an assortment of different nutrients. You can also talk with a healthcare professional about whether you need a supplement.

Vitamin D

Long-term vitamin D deficiency has been associated with bone loss. This is mainly because the body struggles to absorb calcium from food when it doesn’t have enough vitamin D. As a workaround, the body releases calcium from the bones into the blood.

Natural ways to get vitamin D include sunlight exposure and eating vitamin D-rich foods. There aren’t many foods that are naturally rich in vitamin D. But some breakfast cereals, juices, and milk are fortified with it.

Beyond foods fortified with vitamin D, direct food sources include:

  1. Fatty fish, like sardines, trout, and tuna

  2. Fish liver oil

  3. White mushrooms

  4. Egg yolks

If you’re low on vitamin D, a healthcare professional may recommend you take a vitamin D supplement or cod liver oil.

Vitamin A

Vitamin A supports bone density and protects against osteoporosis. But too much vitamin A has been linked to bone pain, lower bone density, and a higher risk for fractures.

You’re unlikely to get too much vitamin A through dietary sources. But, if you’re taking supplements, make sure to take a safe dose. Adults over age 19 should limit preformed vitamin A to 3,000 mcg per day.

Fruits and vegetables with an orange or red color often contain vitamin A. Here are some good sources:

  1. Beef liver

  2. Sweet potato

  3. Pumpkin

  4. Tomatoes

  5. Mangoes

  6. Summer squash

  7. Baked beans

Other micronutrients

Beyond the above vitamins and minerals, other micronutrients also play a role in keeping your bones strong, such as:

  • Magnesium: Foods with magnesium include seeds, nuts, beans, leafy greens, oatmeal, and bananas.

  • Omega-3 fatty acids: Foods with omega-3 fatty acids include oily fish, flaxseed, chia seeds, walnuts, and soybeans.

  • Phosphorus: Foods with phosphorus include dairy, seafood, chicken, lentils, beef, nuts, potatoes, beans, and eggs. 

  • Zinc: Foods with zinc include oysters, crab, lobster, beef, beans, pumpkin seeds, and yogurt.

  • Potassium: Foods with potassium include avocados, squash, lentils, kidney beans, apricots, and raisins.

  • Vitamin C: Foods with vitamin C include citrus fruits, guava, papaya, kiwi, red and green peppers, and broccoli. 

  • Vitamin K: Foods with vitamin K include leafy green vegetables, broccoli, avocado, tuna, and soybeans.

  • Folate: Foods with folate include spinach, asparagus, broccoli, brussels sprouts, kidney beans, and beets.

These micronutrients are in a wide variety of foods, so most people are able to get enough by eating a nutritious and balanced diet. 

Foods to avoid for better bone health

Limit foods and beverages that can negatively affect bone health, such as:

How much calcium and vitamin D do you need?

Most people can meet their daily calcium goals by eating a balanced diet that includes some dairy.

Here’s a breakdown of how much calcium you need each day.

Age

Men

Women

0-6 months

200 mg

200 mg

7-12 months

260 mg

260 mg

1-3 years

700 mg

700 mg

4-8 years

1,000 mg

1,000 mg

9-18 years

1,300 mg

1,300 mg

19-50 years

1,000 mg

1,000 mg

51-70 years

1,000 mg

1,200 mg

71+ years

1,200 mg

1,200 mg

Below is a breakdown of how much vitamin D you need each day.

Age

Recommended daily intake

0-12 months

10 mcg

1-70 years

15 mcg

71+

20 mcg

Keep in mind that these recommendations may vary if you’re pregnant or nursing. Check in with your OBGYN to confirm how much calcium and vitamin D you need.

Frequently asked questions

There’s no single best or fastest way to increase bone density. But doing strength-training and weight-bearing exercises can help you prevent bone loss and increase bone density. Aim to do these exercises at least three to four times a week. To maximize the health of your bones, make sure to also eat foods rich in calcium, vitamin A, and vitamin D. 

All fruits are good for you, and it’s a great idea to include a variety in your diet. The best fruits for bone health include those with calcium, vitamin D, vitamin A, and other key micronutrients. For example, figs contain a good amount of calcium, and some varieties of orange juice are fortified with calcium and vitamin D. You can also pair fruits with other foods high in these nutrients. For example, you can add fruit to your morning yogurt or smoothie. 

Many different nuts have protein and nutrients that support bone health. Pumpkin seeds have calcium, vitamin A, and other bone-healthy nutrients, like vitamin K, zinc, and magnesium. Almonds and hazelnuts are good sources of calcium. And walnuts pack omega-3 fatty acids. Just make sure to go for options without too much added salt.

Smoothies can be a great choice to promote bone health and density because you can pick and choose what you put in them. You can add foods rich in vitamin D and calcium, like yogurt and milk, along with leafy greens and fruits that are rich in other micronutrients that support bone health. 

The bottom line

You can support your bone health by doing strength-training exercises and eating a balanced diet. While vitamin D and calcium are most commonly linked to better bone health, plenty of other nutrients also play a role in building strong and dense bones. You can get these nutrients from a diet rich in fruits and vegetables, whole grains, and lean protein.

If you aren’t sure you’re getting enough vitamins and minerals to keep your bones strong, connect with a healthcare professional to check your levels.

why trust our exports reliability shield

Why trust our experts?

Candace Nelson, MS, CN, is an award-winning journalist specializing in health and condition care. She is passionate about preventing chronic conditions.
Alex Eastman, PhD, RN, is a California-based registered nurse and staff medical editor at GoodRx, where he focuses on clinical updates and Latino health.
Farzon Nahvi, MD, is an emergency medicine physician and author of “Code Gray: Death, Life, and Uncertainty in the ER.” He works at Concord Hospital in Concord, New Hampshire, and teaches at the Geisel School of Medicine at Dartmouth.

References

GoodRx Health has strict sourcing policies and relies on primary sources such as medical organizations, governmental agencies, academic institutions, and peer-reviewed scientific journals. Learn more about how we ensure our content is accurate, thorough, and unbiased by reading our editorial guidelines.

Was this page helpful?

Latest articles