The foods with the best evidence for lowering LDL (“bad”) cholesterol are oats and barley, beans and lentils, nuts, soy foods, and foods fortified with plant sterols or stanols, together with swapping saturated fats for unsaturated ones such as olive oil, nuts and oily fish. Each one has a modest effect on its own, but they add up: in a 2003 trial in JAMA, a “portfolio” diet combining several of these foods lowered LDL by 29% in a month, close to the 31% seen with a statin. Food changes don’t replace medicine if your doctor has prescribed it, but they help either way.

How food affects cholesterol
LDL cholesterol carries cholesterol to the artery walls, and high levels raise the risk of heart attack and stroke. Diet affects it in three main ways:
- Saturated fat raises LDL. The NHS explains that replacing saturated fats with some unsaturated fats can help lower cholesterol.
- Soluble fiber binds cholesterol in the gut, so less is absorbed.
- Plant sterols and stanols compete with cholesterol for absorption.
Dietary cholesterol, from foods such as eggs and shellfish, has a smaller effect for most people than the type of fat you eat, as Harvard’s Nutrition Source explains.
The top cholesterol-lowering foods
| Food | Daily amount tested | Effect on LDL in trials |
|---|---|---|
| Oats and barley (beta-glucan) | 3 g or more of beta-glucan | about 0.25 mmol/L (10 mg/dL) lower |
| Beans, lentils and chickpeas | About 130 g, roughly one serving | about 0.17 mmol/L (7 mg/dL) lower |
| Tree nuts | 1 serving (about 30 g) | about 4.8 mg/dL lower, more at 60 g or above |
| Soy protein | About 25 g of soy protein | 3% to 4% lower |
| Plant sterols and stanols | 1.5 to 3 g | 6% to 12% lower |
Sources: oats from a meta-analysis of 28 trials; pulses from a review of 26 trials; nuts from a review of 61 trials; soy from a meta-analysis of 46 studies; and sterols from a dose-response meta-analysis.
Oats and barley
Oats and barley contain beta-glucan, a soluble fiber that forms a gel in the gut. Getting 3 g a day usually means combining oats with other sources, such as barley, oat bran or foods labeled with their beta-glucan content. Our guide to whether oats are good for you explains more.
Beans, lentils and chickpeas
A serving a day of pulses, such as lentil soup, a bean chili or hummus, lowered LDL in the review above. They also replace some meat, which cuts saturated fat. Our red lentil soup is an easy start.
Nuts
Almonds, walnuts, pistachios, hazelnuts and other tree nuts lowered LDL and triglycerides, and the dose mattered more than the type of nut. Choose unsalted nuts, and use them in place of less healthy snacks, because they’re high in calories.
Soy foods
Tofu, soy milk, edamame and tempeh provide plant protein and lowered LDL by about 3% to 4% at 25 g of soy protein a day. That’s roughly 150 g of firm tofu, or a mix of foods such as soy milk and edamame through the day.
Plant sterols and stanols
Sterols and stanols occur naturally in small amounts in vegetable oils, nuts and grains. To get the 1.5 to 3 g a day that lowers LDL, you need fortified foods, such as some spreads, yogurt drinks or milks. They’re not needed if your cholesterol is normal.
Oily fish
Salmon, mackerel, sardines and trout don’t lower LDL much on their own, but they’re a healthy swap for fatty meat, and the NHS recommends oily fish as part of a cholesterol-lowering diet.
What the NHS recommends
The NHS advises cutting down on fatty food, especially food high in saturated fat. It suggests eating more:
- Oily fish, such as mackerel and salmon
- Brown rice, wholegrain bread and wholewheat pasta
- Nuts and seeds
- Fruits and vegetables
and eating less:
- Meat pies, sausages and fatty meat
- Butter, lard and ghee
- Cream and cheese
- Cakes and biscuits
- Foods containing coconut or palm oil
It also recommends at least 150 minutes of moderate exercise a week, stopping smoking, and drinking no more than 14 units of alcohol a week.
The portfolio approach
The idea behind the portfolio diet is that small effects combine. In the 2003 JAMA trial, 46 adults with high cholesterol followed one of three diets for a month. A diet low in saturated fat lowered LDL by 8%. The same diet plus the statin lovastatin lowered it by 31%, and a portfolio diet rich in plant sterols, soy protein, soluble fiber and almonds lowered it by 29%. It was a small, short trial in a controlled setting, and eating this way every day takes effort, but it shows what food can do.
A cholesterol-friendly day
| Meal | Example | Helpful foods |
|---|---|---|
| Breakfast | Oats cooked with soy milk, topped with berries and walnuts | Beta-glucan, soy, nuts |
| Lunch | Lentil and vegetable soup with whole grain bread | Pulses, fiber |
| Snack | A small handful of almonds and an apple | Nuts, soluble fiber |
| Dinner | Baked salmon with barley, broccoli and an olive oil dressing | Oily fish, beta-glucan, unsaturated fat |
Our guide to high-fiber foods lists more options.
Foods to limit
- Fatty and processed meat: sausages, bacon, salami, burgers and meat pies.
- Butter, ghee, lard, cream and hard cheese in large amounts.
- Coconut and palm oil, which are high in saturated fat.
- Pastries, cakes and biscuits, which often combine saturated fat and sugar.
- Fried takeaway food.
If you follow a high-fat diet such as keto, LDL can rise substantially in some people. Our article on keto and cholesterol explains why, and our guide to heart-healthy eating covers blood pressure and other risks.
How quickly will my cholesterol change?
LDL often starts to fall within a few weeks of a lasting change in diet. Ask your doctor about a repeat test after about 3 months. Some people have high cholesterol mainly because of their genes, such as in familial hypercholesterolemia, and need medicine whatever they eat.
Common questions
Can I lower cholesterol without statins?
Diet and lifestyle can lower LDL meaningfully, but if your doctor recommends a statin because of your overall risk, food changes work alongside it rather than instead of it. Never stop a prescribed medicine without talking to your doctor.
Are eggs bad for cholesterol?
For most people, eggs have a modest effect. If your LDL is high or you have diabetes, your doctor may suggest limiting yolks.
Is coconut oil good for cholesterol?
No. It’s high in saturated fat and the NHS lists it among foods to cut down on.
This article is general information, not medical advice. Talk to your doctor or a registered dietitian before making big changes to how you eat, especially if you have a health condition, take regular medication, or are pregnant or breastfeeding.



