Doruk kemik kütlesinin en iyi şekilde olabilmesi için 35 yaşından önceki dönemde yeterince kalsiyum ve D vitamini alınması gereklidir. Bebekler anne sütü ile beslenmeli, çocuklar da kalsiyumdan zengin olan süt ve süt ürünlerini bolca tüketmelidirler. Sütü tolere edemeyen kişiler süt ürünlerini tüketmelidirler. Türk toplumunda takriben %35 dolaylarında görülen bu duruma “Laktoz intoleransı” adı verilir. Büyümekte olan çocuklarda, gebe-likte ve emzirme dönemlerinde kalsiyum ihtiyacı artar. D vitamininin görevi, kalsiyum ve fosforun barsaktan emilimini düzenlemektir. D vitamini hem gıdalarla alınabiliyor hem de ciltte oluşabiliyor (Güneş ışınları cilt altındaki yağları D vitaminine çevirir). Osteoporoz belli bir yaştan sonra geliştiği için, güneşten yararlanma ihtimali de azabilir. Zira bazı yaşlılarda hareket azlığı ve güneşe çıkmayı engelleyen bazı problemler gelişmiş olabilir.
Proteinden fazla zengin bir diyet ile tuzun fazla tüketilmesi, kalsiyumun vücuttan dışarı atılımına sebep olur. Bu nedenle osteoporoz riski olanlarda özellikle hayvansal protein ve tuz kısıtlaması yapılmalıdır.
Çok az kilolu olmak da osteoporoza zemin hazırlar. Bu husus da uygun diyetle ayarlanmalıdır. Kilolu olmanın hemen hemen hiçbir faydası olmadığı gibi, şişmanlığa bağlı pek çok ciddi sağlık problemleri ortaya çıkmaktadır.
Ancak osteoporoz fazla kilolularda daha az görülür. Çünkü ağırlık iskelet sistemine stres yapmak suretiyle güçlenmesine sebep olur, ayrıca kilolu kişilerdeki yağ dokusunda da östrojen üretimi sağlanır ki bu da osteoporozun gelişimini önler.