How Calcium, Vitamin D, and More Protect Your Bones 

While genetics play a role, nourishing your body with the right foods can make a powerful difference in protecting your bones. A vibrant, balanced diet rich in key bone-supporting nutrients helps keep your skeleton strong and resilient. And if you have osteoporosis, thoughtful nutrition is one of the most impactful, physician-recommended ways to support bone health moving forward. 

The Best Nutrients for Strong Bones 

Strong bones rely on more than just calcium. A variety of vitamins and minerals work together to keep your skeleton resilient. Below, you’ll find the key nutrients your body needs, why they matter for bone health, and the best food sources to help you get them. 

Calcium and Vitamin D 
When it comes to osteoporosis prevention or treatment, the two most important nutrients are calcium and vitamin D. Bone is made mostly of calcium. In addition, calcium fuels many other body functions, such as muscle movement, nerve operation, and immune activation. Typically, we get our daily dose of calcium from food. But if your diet is lacking, your body will use your bones as a bank, borrowing the calcium it needs today from the abundant supply in your bones. This creates a kind of calcium debt to your bones. If you eat enough high-calcium foods to keep functioning, any excess will be used to pay back the debt. But if you don’t consume enough calcium, the debt never gets repaid. While you can skate by for a few years, eventually the debt will catch up with you in the form of weakened, thinning bones. 

As we grow, our bones naturally become stronger and denser, but only if we get enough calcium along the way. By around age 30, bone density peaks, which means kids, teens, and young adults should load up on calcium to build the strongest foundation possible. After menopause, every woman experiences some bone loss due to hormonal changes. Women who start with higher bone density have more ‘wiggle room’ before osteoporosis develops. Even then, it’s still essential to keep calcium intake up to help slow down bone loss. 

On the other hand, it is possible to get too much of good thing. Most people struggle to get the recommended 1,000 to 1,200 mg of calcium daily. But some folks can’t help but go overboard when they finally appreciate the connection between calcium and bone health. Unfortunately, you can’t make up for lost calcium overnight. The upper recommended limit for calcium consumption is 2,500 mg per day. Taking more than this can reduce the body’s ability to absorb other minerals and may lead to kidney stones. 

One interesting note: Some foods (most notably spinach and rhubarb) are packed with calcium, but they also contain natural compounds called oxalates. Oxalates bind to calcium in the digestive tract, forming complexes that your body can’t easily absorb. That means even though these foods look like calcium all-stars on paper, the actual amount your body takes in is much lower. They’re still nutritious choices with plenty of benefits, but it’s helpful to pair them with other calcium-rich foods that are more readily absorbed, like dairy products, fortified plant milks, tofu, almonds, or leafy greens such as kale and bok choy. 

My list of calcium-rich foods includes only the absolute best sources, so every serving serves your bones. 

BEST FOODS FOR CALCIUM:  

  • Yogurt 
  • Milk  
  • Soy milk 
  • Tofu with calcium (check nutrition label) 
  • Soybeans (edamame) 
  • Bok choy 
  • White beans 
  • Kale 
  • Collard greens 
  • Broccoli 
  • Almonds 
  • Almond butter 

Calcium is useless without vitamin D. Vitamin D allows calcium to move from the gastrointestinal tract to the parts of the body that need it, including the bones. Without enough vitamin D, a child’s bones can become so weak that they bow under the body’s own weight, a condition called rickets. In adults, lack of vitamin D means that the body borrows calcium from bones to feed the rest of the body’s needs. Eventually osteoporosis will set in. 

Vitamin D can be made in the body through a reaction of the skin and sunlight. Just ten to 15 minutes of sun on the bare skin of the arms three or four times a week is enough to keep most of us healthy. Of course, too much sunlight causes skin damage and premature aging and may lead to skin cancer. That’s why I recommend getting vitamin D primarily from food sources and supplements. Since few foods are rich in vitamin D, you may need to take a supplement (or multivitamin that contains vitamin D) in order to take in at least 800 International Units (IU) of vitamin D daily, my personal recommendation for healthy adults. 

BEST FOODS FOR VITAMIN D:  

  • Wild salmon 
  • Mackerel (not king) 
  • Sardines 
  • Herring 
  • Fortified milk  
  • Soy milk 
  • Fortified yogurt 
  • Egg yolks 
  • UV-treated mushrooms 

Magnesium 

You don’t need a chemistry class to know that acids can be corrosive. The same is true for acids formed in your body during the process of metabolism (creating energy from food). These metabolic acids need to be balanced and neutralized by alkaline compounds, otherwise they can cause bone loss. Magnesium can help neutralize these acids. 

Magnesium plays an integral role in bone crystal growth, helping to strengthen bone structure. Magnesium also helps your body absorb calcium. For calcium to be absorbed in the body, it needs two things: vitamin D (as we already discussed) and parathyroid hormone (PTH). Because magnesium affects PTH, it indirectly — but very critically — affects how much calcium is available for building and maintaining bone. 

While the scientific research is mixed, some studies show that a high magnesium intake can increase bone density or decrease the risk for fractures. Despite the conflicting findings, magnesium is necessary for health, and I believe it is impossible to properly treat osteoporosis without including magnesium.  

BEST FOODS FOR MAGNESIUM:  

  • Pumpkin seeds 
  • Spinach 
  • Swiss chard 
  • Amaranth 
  • Sunflower seeds 
  • Cashews 
  • Almonds 
  • Quinoa 
  • Tempeh 
  • sweet potatoes 
  • white potatoes 
  • Soybeans 
  • Millet 
  • starchy beans (such as black, navy, pinto, garbanzo, kidney) 
  • artichoke hearts 
  • peanuts and peanut butter 
  • brown rice 
  • whole grain bread 
  • sesame seeds 
  • wheat germ 
  • Flaxseed 

Potassium  

Potassium helps to increase bone formation, improves calcium balance, increases bone mineral density, and reduces bone resorption by neutralizing metabolic acids. 

Researchers from the United Kingdom looked at the effects of dietary potassium on bone mineral density of more than 3,000 premenopausal and postmenopausal women. For women who were still menstruating, eating lots of potassium-rich foods increased bone mineral density by 8 percent — a relatively modest gain, but one that the researchers estimated could translate into a 30 percent reduced risk of fracture in later years. 

Of course, it is difficult to separate the effects of potassium specifically from the effects of fruits and vegetables in general. Fruits and veggies, many of which contain significant quantities of potassium, have a whole rainbow of nutrients that contribute to bone health. The most important takeaway from this encouraging research is that potassium-rich produce and other foods can help keep your bones healthy and strong. 

BEST FOODS FOR POTASSIUM: White potatoes, yogurt, soybeans, Swiss chard, all fish, sweet potatoes, avocado, cantaloupe, artichokes, bananas, spinach, lettuce (especially romaine, radicchio, arugula, and endive), honeydew melon, pumpkin, milk , carrots, starchy beans (such as  black, navy, kidney, pinto, garbanzo), lentils, lima beans, apricots, papaya, split peas, pistachio nuts, winter squash (acorn, butternut), soy milk, watermelon, beets, tomatoes (including sauce, juice), kale, mushrooms, raisins, peanuts,  plums, almonds, sunflower seeds, prunes (and juice), oranges (and juice), broccoli 

Vitamin K  

Vitamin K is essential for the formation of osteocalcin, a type of protein found only in bone. High intake of vitamin K has been linked to lower risk of fractures in some populations. Therefore, I highly recommend loading up on foods rich in vitamin K. One caveat: Vitamin K is a natural blood thickener that plays a role in the formation of blood clots, so people who are taking blood-thinning medication (such as warfarin) should talk with their doctors before eating vitamin K–rich foods. 

BEST FOODS FOR VITAMIN K: Kale, spinach, collard greens, Swiss chard, turnip greens, endive, escarole, mustard greens, lettuce (all varieties), parsley, broccoli, broccoli raab, Brussels sprouts, watercress, asparagus, okra 

Vitamin C  

Vitamin C is essential for the health of collagen, a key protein in bone tissue that contributes strength and resilience. Some studies have shown that eating lots of foods high in vitamin C increases bone mineral density and results in fewer fractures. A Tufts University study found that older men who consumed the most vitamin C experienced less bone loss over a 4-year period, but the same relationship was not seen in women. More research is needed to understand the relationship between vitamin C and bone health during aging, but regardless of future findings, it’s a good idea to consume plenty of vitamin C-rich produce like peppers, citrus fruits, and broccoli. 

BEST FOODS FOR VITAMIN C: Guava, bell peppers (yellow, red, green), oranges and orange juice, grapefruit (and juice), strawberries, pineapple, kohlrabi, papaya, lemons and lemon juice, broccoli, kale, Brussels sprouts, kidney beans, kiwi, cantaloupe, cauliflower, cabbage (all varieties), mangoes, white potatoes (with skin), mustard greens, tomatoes, sugar snap peas, snow peas, clementines, rutabagas, turnip greens, raspberries, blackberries, watermelon, tangerines, okra, lychees, summer squash (all varieties), persimmons 

Protein-Rich Foods 

For many years, conventional wisdom was that protein increased the risk of osteoporosis because people who ate large amounts of protein had a large amount of calcium in their urine. Scientists thought that protein was somehow leeching calcium from the bones, which then found its way out of the body through urine. Excessive amounts of protein may indeed pose a problem. However, more recent research suggests that eating too little protein is just as harmful to bone health, if not more so, than overdoing it. 

Protein is an important component of bone and absolutely necessary for bone strength. Studies show that people who don’t get adequate protein may have reduced calcium absorption, reduced bone density, and higher rates of bone loss. People who eat relatively large amounts of protein have a reduced risk of fractures and higher bone mineral density. Older women, the primary group affected by osteoporosis, are especially at risk for low protein intakes and need to take extra care to make sure they’re incorporating quality proteins into meals and snacks. 

Although researchers are still studying the relationship between protein and bone health, the latest evidence suggests that getting enough protein — from both plant and animal sources — supports stronger bones, especially when paired with calcium and vitamin D. Plant proteins like beans, lentils, and soy foods may offer extra benefits thanks to their nutrient and phytonutrient content, but lean animal proteins such as fish, poultry, and low-fat dairy also play an important role. The key is balance: aim for a steady intake of quality protein throughout the day, and avoid extreme diets that go overboard on protein while cutting out other essential nutrients. 

The bottom line is that you need to ensure that you’re getting an appropriate amount of protein through lean meats, skinless poultry, fish, eggs, beans, lentils, dairy, soy foods, and nuts. What defines appropriate depends on your weight. Here’s a simple rule of thumb: Take your weight in pounds and divide it in half — that’s approximately how many grams of protein you need to eat every day for good bone health. For example, if you weigh 140 pounds, you need about 70 g of protein each day. And remember that lean animal proteins, such as skinless poultry, seafood, and lean steak, are incredibly rich sources of protein, meaning just a small 3-ounce cooked portion (about the size of your palm) can provide between 20 and 25 grams. Depending on your size, that can be a third of your daily protein needs. 

Also keep in mind that fattier cuts of beef will provide less protein ounce per ounce when compared with leaner cuts. That’s because the fat content takes up space and displaces protein. Reduced-fat and fat-free milk and yogurt often deliver slightly more calcium per serving than their full-fat counterparts, because removing the fat naturally concentrates the calcium in the remaining portion. Many reduced-fat cheeses can offer this advantage too, though levels vary by brand and type. It’s a double bonus: less saturated fat and more calcium per bite. 

BEST FOODS FOR PROTEIN: Skinless turkey, skinless chicken, seafood and fish, pork tenderloin, lean beef, egg whites, yogurt, milk, soy milk, cheese , starchy beans (such as black, navy, pinto, garbanzo, kidney), lentils, split peas, tofu, tempeh, soybeans, all nuts and nut butters, seeds and seed butters 
(Of course, many more foods than those listed above provide protein — even breads, cereals, and grain products contain small amounts of protein. I encourage you to read labels, and tally your protein grams for a day or two to make sure you’re on track.) 

Soy often comes under the spotlight for bone health because it contains isoflavones, plant compounds that act like a mild form of estrogen in the body. Since women lose bone density after menopause due to declining estrogen, researchers have studied whether consuming soy might help. The evidence in humans is mixed: some studies show that regular soy intake may slow bone loss, while others find little effect. Fermented soy products like natto may offer extra bone benefits, likely due to their vitamin K2 content, but more research is needed. 

The bottom line: incorporating moderate amounts of whole soy foods, like tofu, edamame, or tempeh, a few times a week may be a healthy choice for bones (and overall nutrition). And if you have a history of breast cancer, speak with your doctor, though most experts agree that moderate intake of whole soy foods is safe. 

BEST FOODS FOR SOY PROTEIN: Tempeh, tofu, soybeans (edamame), natto (fermented soybeans), soy nuts, soy flour, soy milk, soy yogurt, soy cheese 

Sample Bone-Healthy Foods List  

Calcium-Rich Foods 

  • Yogurt  
  • Milk  
  • Tofu with calcium (check the label) 
  • Kale, bok choy, collard greens, broccoli 
  • Almonds and almond butter 

Vitamin D-Rich Foods 

  • Wild salmon, sardines, herring, mackerel (not king) 
  • Fortified milk and yogurt 
  • Egg yolks 
  • UV-treated mushrooms 

Magnesium-Rich Foods 

  • Pumpkin seeds, cashews, almonds 
  • Spinach, Swiss chard, quinoa 
  • Black beans, kidney beans, lentils 
  • Brown rice, whole-grain bread 

Potassium-Rich Foods 

  • Sweet potatoes, white potatoes 
  • Avocados, bananas, cantaloupe 
  • Beans, lentils, split peas 
  • Tomatoes, winter squash, spinach 

Vitamin K-Rich Foods 

  • Kale, spinach, collard greens, Swiss chard 
  • Broccoli, Brussels sprouts 
  • Parsley, lettuce, asparagus 

Vitamin C-Rich Foods 

  • Bell peppers, citrus fruits, kiwi 
  • Strawberries, papaya, mango 
  • Broccoli, Brussels sprouts, cauliflower 

Protein Sources 

  • Skinless chicken or turkey, fish, lean beef 
  • Eggs and egg whites 
  • Beans, lentils, split peas 
  • Tofu, tempeh, soybeans 
  • Nuts, seeds, and nut/seed butters 

Looking for delicious ways to build stronger bones? Explore my recipe library for meals and snacks that double as bone boosters.