What is the best diet for osteoporosis?
A balanced diet with at least 700mg of calcium a day. A glass of milk, a pot of yoghurt and a matchbox of cheese cover it. But one famous calcium food barely counts.
On this page

What is the best diet for osteoporosis?
A balanced one, with plenty of calcium. If you have osteoporosis or are at risk, the NHS says to eat plenty of fruit and vegetables, get enough protein and limit salt.
Calcium is the number to know. Most adults need 700mg a day. If you’re at risk or take an osteoporosis medicine, your doctor may advise around 1,000mg.
Three good servings get most people there. Each serving below gives 240 to 300mg, with or without dairy.
More is not better. The Royal Osteoporosis Society (ROS) says extra calcium is unlikely to make bones stronger.
Add up a normal day of your own food. If it comes to around 700mg, you’re there.
Which foods are good for bones?
| Food | Portion | Calcium |
|---|---|---|
| Calcium-set tofu | 100g | 300mg |
| Milk, including lactose-free | 200ml glass | 240mg |
| Cheddar | 30g, matchbox size | 240mg |
| Plain yoghurt | 150g pot | 240mg |
| Sardines with bones | Half a tin, 60g | 240mg |
| Plant drink with added calcium | 100ml | 120 to 190mg |
| White bread | 2 large slices | 155mg |
| Kale, boiled | 100g | 150mg |
| Broccoli, boiled | 2 spears | 40mg |
| Orange | 1 medium | 30mg |
Source: BDA
That famous calcium food from the top is spinach. It holds plenty of calcium, but the body cannot digest it all.
Nuts, seeds, beans and dried fruit work the same way. The British Dietetic Association (BDA) says not to rely on them as your main calcium.
No dairy? Check plant drinks for added calcium. The BDA says organic ones are not fortified, and only tofu set with calcium counts.
For an easy win, put tinned sardines or pilchards, bones and all, on toast instead of tuna. More ideas in dairy-free protein.
Do I need vitamin D and protein too?
Yes. Vitamin D helps your body absorb and use calcium.
Your skin makes most of it from sunlight in summer. Oily fish, red meat, egg yolks and fortified cereals contain some. But it’s hard to get enough from food alone, so the NHS says to consider 10 micrograms a day in autumn and winter.
If you’re at risk of osteoporosis or on a bone medicine, your doctor may advise 20 micrograms a day. Don’t take more than 100 micrograms a day, as it could be harmful.
For protein, the NHS just says get enough. Protein foods include beans, eggs, fish and meat. See high-protein foods.
Thinking about tablets? See osteoporosis supplements and vitamin D deficiency.
Are there foods to avoid with osteoporosis?
No. The ROS says no foods are known to be bad for bones. A few are best kept in check.
| Food or drink | ROS advice |
|---|---|
| Coffee | If you get little calcium from food, or have other risk factors for osteoporosis, no more than 4 cups a day. If concerned, drink it milky. |
| Tea | Not found to have the same effect on bones as coffee. |
| Cola | People who drink a lot may be at risk of bone loss. |
| Fizzy water | No evidence it harms bones. |
| Salt | No more than 6g a day, about a teaspoon. |
| Alcohol | No more than 14 units a week. Heavy drinking raises the risk of broken bones. |
| Liver, pâté and fish liver oils | If you have osteoporosis, keep them to once a week. |
Source: ROS
An alkaline diet isn’t needed. The ROS says it’s not been proven to lower the risk of broken bones.
Pick the one you have most of, and cut that first. See how much salt a day and alcohol units.
What to eat for strong bones this week
What to eat for strong bones this week
- Have three calcium-rich servings a day, such as 200ml of milk, 150g of yoghurt and 30g of cheddar.
- No dairy? Choose plant drinks and yoghurts with added calcium, and tofu set with calcium.
- Put tinned sardines or pilchards, bones and all, on toast instead of tuna.
- Consider taking 10 micrograms of vitamin D a day in autumn and winter, unless your doctor advises a different amount.
- Keep salt to no more than 6g a day, about a teaspoon.
- Drink no more than 14 units of alcohol a week.
Food works best alongside exercise. The NHS advises weight-bearing, strengthening and balance exercises. See strength training for women.
On a calcium supplement and now eating enough? The ROS says you may be able to stop, and to let your doctor know.
If it was prescribed, talk to your prescriber before you stop. Never stop or change a prescribed medicine without your prescriber.
When to speak to a GP
Osteoporosis usually has no obvious symptoms until a bone breaks. Book an appointment if:
- You think you may be at risk of osteoporosis and you’re worried. Your GP may refer you for a bone density (DEXA) scan.
- You have back pain that is not getting better after a few weeks.
- Your spine becomes curved or your posture becomes hunched.
- A calcium supplement makes you constipated, gives you diarrhoea or makes you feel sick. The ROS says a different type may help.
Recently had a fall or injury and the pain is not getting better? Ask for an urgent GP appointment or call 111. For severe pain after a fall or injury, call 999 or go to A&E.
A calcium blood test can’t tell you if you get enough calcium from food. See bone health blood results for what blood tests can show.