Skip to main content

What is the best diet or foods to help with osteoporosis?

Medically reviewed by Last updated on Sep 20, 2022.

Official answer


Foods and a diet that are good for bone health can help prevent and manage osteoporosis.

These are foods rich in calcium, magnesium, potassium, vitamin C, D, and K which are not only important for your overall health, but also support healthy bones. Vitamin D is also made in our skin when it is exposed to sunlight. Half an hour early morning or late afternoon is considered adequate without putting you at high risk of sunburn.

If you eat a mainly plant-based, healthy diet that contains more than five servings of fruit and vegetables per day (some experts consider nine servings of fruit or vegetables a day the optimum), then your bones will stay happy! Also:

  • Limit your intake of sodium chloride (salt) because it can cause your body to lose calcium
  • Avoid carbonated beverages; water is the best fluid to drink
  • Drink caffeinated beverages in moderation because caffeine can interfere with the absorption of calcium
  • Even though beans contain high levels of calcium, fiber, magnesium, and other nutrients, they also contain phytates which can interfere with your body’s ability to absorb the calcium contained in beans. Soaking beans for several hours can help reduce phytate levels
  • Eat protein, but don’t eat too much protein (excessive amounts of protein can cause the body to lose calcium)
  • Wheat bran can also reduce the absorption of foods containing calcium when eaten at the same time (generally only applies to 100% wheat bran)
  • Don’t smoke and limit the amount of alcohol you drink.

Foods That Contain Bone Healthy Vitamins or Minerals

Bone Healthy Vitamin or Mineral Food Examples
Calcium Low-fat dairy foods (eg, milk, yogurt, cheese), almonds, broccoli, collard greens, figs, kale, okra, tinned whole fish (salmon with bones, sardines), tofu
Magnesium Almonds, artichokes, avocados, beet greens, Brazil nuts, collard greens, mushrooms, okra, plantains, spinach, tomatoes
Potassium Apricots, bananas, dried fruits, mushrooms, oranges, papaya, plantains, prunes, sweet potatoes, tomatoes
Vitamin C Broccoli, Brussel sprouts, capsicums, grapefruit, kiwifruit, oranges, papaya, pineapples, strawberries
Vitamin D Cheese, egg yolks, fortified low-fat dairy foods, and other products, fatty fish (eg, mackerel, salmon, sardines, tuna), mushrooms
Vitamin K Brussel sprouts, chard, dark leafy vegetables (eg, collard greens, kale, spinach), parsley

Related medical questions

Related support groups