Maintaining strong, healthy bones means you don’t need to stop playing golf when you’re only 50 years old. If you take care of your bones, you can keep chasing your kids or grandkids, playing tennis, beer league hockey, hiking, or whatever activities you enjoy.

As you age, even minor things like coughing or bending over can cause a fracture if you have brittle bones. In fact, 80% of all fractures in people over 50 are caused by osteoporosis. Osteoporosis can also lead to joint pain and injury, and anyone who’s broken a bone knows it limits their independence and mobility.

What you eat can help prevent osteoporosis. Discover the 3 key nutrients you need in your diet to keep bones strong, the risk factors, and lifestyle changes that positively affect bone health. 

What is osteoporosis?

Bones are living tissues that support the body—they make red and white blood cells, store minerals, and provide structure for mobility. After age 40, bone production slows down, leading to thinner and more brittle bones.

Osteoporosis is a disease where the body loses more bone than it can make. The bones have either lost their weight (bone mass), become porous (bone density), or have changed their length or structure. When this happens, the bones become thin and fragile and can break more easily, increasing the risk of falls.

According to Osteoporosis Canada, 1 in 5 men are affected by this condition. The good news is osteoporosis is a preventable condition. The sooner you start taking care of your bones, the less likely they will become thin and weak in your senior years.

Osteoporosis risk factors

 A few factors can increase your risk of osteoporosis

  • Age: Being 65 years and older increases your risk for fractures
  • Family history: A parent with a history of fractures could indicate a higher risk for osteoporosis and fractures for you
  • Diet: A diet low in calcium and vitamin D 
  • Alcohol consumption: Drinking 3 or more alcoholic beverages per day 
  • Smoking: Negatively impacts bone health
  • Medications: Certain medications taken over time. Check with your healthcare provider.

Add these nutrients to your diet to prevent osteoporosis

two men in a kitchen chopping vegetables

You can protect and improve the health of your bones with foods and nutrients that help ward off osteoporosis, including calcium, vitamin D and protein. 


Calcium is one of the main nutrients for building and maintaining healthy bones. It’s also an important nutrient to help your heart, muscles, and nerves work properly and produce hormones.

When you don’t eat enough calcium-rich foods, your body will take calcium from your bones. How much calcium you need depends on your age. If you’re between 19 and 50 years old, you’ll need 1000 mg of calcium per day. This is equivalent to drinking 3 cups of milk or 3 cups of a fortified soy beverage.

As you age, your body doesn’t absorb calcium as well. After age 50, you’ll need to increase your calcium intake to 1200 mg daily. This amount is equivalent to 4 cups of milk or fortified soy beverage. Milk, yogurt, and fortified soy beverages aren’t the only foods with calcium. You can also find this bone-building nutrient in:

  • Fortified orange juice 
  • Canned salmon with bones
  • Tofu
  • Edamame
  • Cooked beans
  • Collard greens 
  • Broccoli
  • Almonds 

 If you want to know more about how to increase your calcium intake, talk to your healthcare provider or a registered dietitian.

Vitamin D  

Vitamin D is calcium’s best friend because it helps the body absorb calcium. Your body naturally produces vitamin D when the sun shines on the skin. In winter months, when there’s less sunlight, it can be harder for your body to produce the vitamin D it needs. Also, your body’s vitamin D production slows down when you age. Still, you can get vitamin D from a handful of foods, including:

  • Milk 
  • Fortified soy beverage
  • Egg yolks
  • Fish like snapper or salmon, canned salmon with bones, rainbow trout, and Arctic char

Because this sunny vitamin isn’t commonly found in foods, Health Canada suggests taking a 400 IU (40 ug) vitamin D supplement each day. You may also need more vitamin D based on your current health and medications. Talk to your healthcare provider to find out the best options for you.


man taking salmon out of the oven

To build strong and dense bones, you should eat protein daily. You can find protein in many types of foods

  • Fish, poultry, beef or pork
  • Eggs 
  • Tofu 
  • Nuts and seeds 
  • Beans and lentils 
  • Milk products

Protein helps preserve your bone and muscle mass, which in turn supports strength and flexibility. Muscles and bones work together to maintain balance and prevent falls and fractures. When you don’t eat enough protein as you age, you could be at a higher risk of falls and fractures.

A simple way to know you’re getting enough protein is to use your plate as a guide. Fill one-quarter of it with protein, half with veggies and fruits, and the other one-quarter with whole grains.  

Enjoy a variety of foods

Eating different kinds of foods ensures you get all three important nutrients for healthy bones. Some foods have both protein and calcium, like canned salmon with bones, canned sardines, beans, milk, fortified soy beverages, yogurt, cheese and nuts like almonds. While other foods, like whole eggs, contain both protein and vitamin D.  

Other ways to prevent osteoporosis

Eating is only part of the picture to prevent or lower the risk of osteoporosis. Other lifestyle factors can also affect your bone health. Here are other ways to keep your bones strong as you age.

Get active

man working out at home using resistance band

Staying active helps build muscle strength, slows down aging and lowers the rate of bone loss. It also boosts your energy levels and keeps your heart healthy. Aim for 150 minutes of moderate to vigorous exercise each week, which is about 30 minutes 5 days a week.

Balance exercises, strength training, and resistance exercises are good ways to help prevent osteoporosis. If you’re not sure where to start, check out these 6 ways to start an exercise routine and stick to it.  

Drink Less 

Heavy drinking could increase the risk of osteoporosis by lowering bone density, which increases the risk of falls and fractures. Learn more about the benefits of drinking less and ways to cut back with these easy tips.

Quit Smoking 

Nicotine in cigarettes destroys the bone-making cells, weakens your bones and raises the risk of osteoporosis as well as fractures. If you do smoke, here are tips for how to quit.

To sum it up

Eating a variety of foods with calcium, vitamin D, and protein will help keep your bones strong and dense as you age. Along with making small changes to your diet, consider starting an exercise routine, drinking less alcohol, and quitting smoking to help lower your risk of osteoporosis.

What food will you add to your diet to keep your bones strong and healthy? Share your thoughts in the comment box below.

In 10 minutes, learn your risk level for the 8 most common health conditions affecting Canadian men. Men’s Health Check is free, anonymous and backed by medical experts.