High cholesterol rarely causes symptoms, but it’s one of the biggest drivers of heart attacks and strokes. The good news is that what you eat can make a real, measurable difference. In clinical trials, a diet built around specific cholesterol-lowering foods reduced LDL (“bad”) cholesterol by around 13% to nearly 30%, in some cases approaching the effect of a low-dose statin.
This guide explains how food lowers cholesterol, then covers the 10 best cholesterol-lowering foods with the amounts research actually used, plus the foods to limit and a sample day of eating.
Cholesterol basics in 60 seconds
- LDL cholesterol carries cholesterol into artery walls, where it can build up as plaque. Lower is better.
- HDL cholesterol helps carry cholesterol away from arteries.
- Triglycerides are blood fats that rise with excess sugar, refined carbs and alcohol.
Your ideal LDL target depends on your overall heart risk, so it’s something to discuss with your doctor. Diet works best alongside other habits: regular activity, not smoking, a healthy weight and, when needed, medication.
How foods lower cholesterol
Different foods work in different ways, which is why combining them is so effective:
- Soluble fiber forms a gel in the gut that traps bile acids. Your liver then pulls cholesterol from the blood to make more bile.
- Plant sterols and stanols compete with cholesterol for absorption in the intestine.
- Unsaturated fats replace saturated fats, which raise LDL.
- Plant protein often replaces fatty meat and may have a small direct effect.
The 10 best cholesterol-lowering foods
1. Oats and barley
Oats and barley are rich in beta-glucan, a soluble fiber. Pooled across many randomized trials, about 3 grams of oat beta-glucan a day lowered LDL by roughly 10 mg/dL. That’s about 1.5 cups of cooked oatmeal; a small packet of instant oats contains closer to 1 gram. Barley works similarly; try it in soups, salads and grain bowls.
2. Beans, lentils and other legumes
Beans, lentils, chickpeas and peas are packed with soluble fiber and plant protein. Half a cup of cooked beans provides around 2 to 3 grams of soluble fiber. Eating them in place of red or processed meat lowers your saturated fat intake too. Aim for a serving most days.

3. Nuts
Almonds, walnuts, pistachios, peanuts and other nuts provide unsaturated fats, fiber and natural plant sterols. Meta-analyses of randomized trials show that eating about 45 to 60 grams a day (a generous handful or two) lowers LDL by around 5%. Walnuts also provide plant omega-3s. Choose unsalted nuts and keep portions in mind, as they’re calorie-dense.
4. Avocados
Avocados are rich in monounsaturated fat and fiber. Using them in place of butter, cheese or processed meats can lower LDL. Half an avocado on whole-grain toast or in a salad is an easy swap.
5. Fatty fish
Salmon, mackerel, sardines, herring and trout are rich in omega-3 fats. Their main benefit is lowering triglycerides rather than LDL, but replacing red meat with fish two or three times a week cuts saturated fat and supports overall heart health. Read more about omega-3s in our article on omega-3 fish oil.
6. Fruits rich in soluble fiber
Apples, citrus fruits, pears, berries and grapes contain pectin, a type of soluble fiber that helps lower LDL. A medium apple with its skin provides about 1 gram of soluble fiber, an orange around 2 grams. Whole fruit beats juice, which loses most of its fiber.
7. Soy foods
Tofu, tempeh, edamame and soy milk provide plant protein. Pooled trials suggest about 25 grams of soy protein a day lowers LDL by a modest 3% to 5%. The bigger benefit often comes from replacing fatty meat with soy.
8. Vegetables, especially okra and eggplant
All vegetables help by adding fiber and nutrients while keeping meals low in saturated fat. Okra and eggplant are particularly high in viscous (gel-forming) fiber and were part of the original “portfolio” diet research.
9. Foods fortified with plant sterols
Plant sterols occur naturally in small amounts in nuts, seeds and oils, but reaching the effective dose of about 2 grams a day usually requires fortified spreads, yogurts or drinks. At that dose, they lower LDL by roughly 8% to 10% within a few weeks. They work best taken with meals.
10. Extra-virgin olive oil and other plant oils
Using olive, canola (rapeseed) or other liquid plant oils instead of butter, ghee, lard or coconut oil lowers LDL by reducing saturated fat. Extra-virgin olive oil also provides antioxidants and is a cornerstone of the Mediterranean diet, which is strongly linked to lower heart disease risk.

Foods with smaller or less certain effects
Garlic: some studies show small LDL reductions, but results are inconsistent. Green tea: may lower LDL slightly. Dark chocolate and cocoa: cocoa flavanols may modestly benefit blood vessels, but chocolate is high in sugar and calories, so keep portions small. Chia and ground flaxseed: provide soluble fiber and plant omega-3s; see our post on chia seeds. Psyllium husk: about 10 grams a day lowers LDL by around 13 mg/dL in trials and is an easy supplement to add to water or smoothies.
The Portfolio Diet: combining foods for bigger results
Researchers at the University of Toronto developed the “Portfolio Diet”, which combines four cholesterol-lowering groups on a low-saturated-fat base:
- Viscous fiber: about 10 to 25 grams a day from oats, barley, legumes, psyllium, okra and eggplant
- Plant sterols: about 2 grams a day
- Plant protein: soy and pulses in place of meat
- Nuts: about 45 grams (a handful and a half) a day
In a 2011 trial in JAMA, people following the Portfolio approach lowered LDL by about 13% over six months, compared with 3% on a standard low-fat diet. In a tightly controlled earlier study, the reduction reached nearly 30%. You don’t need to follow it perfectly; each food you add contributes.
Foods to limit
- Saturated fat: fatty and processed meats, butter, ghee, full-fat cheese, cream, coconut and palm oil, pastries
- Trans fats: now largely banned in the US but still found in some imported and fried foods; check labels for “partially hydrogenated oils”
- Refined carbs and added sugar: these raise triglycerides
- Alcohol: raises triglycerides and blood pressure
- Highly processed foods, which the 2025 to 2030 US Dietary Guidelines advise cutting back on
Dietary cholesterol from eggs has less effect on blood cholesterol than once thought for most people, but if you have high LDL or diabetes, ask your doctor how many eggs make sense for you.
A sample cholesterol-lowering day
- Breakfast: 1.5 cups cooked oatmeal with berries, ground flaxseed and a few walnuts (see more ideas in our healthy breakfast foods)
- Snack: an apple and a small handful of almonds (more in our healthy snacks list)
- Lunch: barley and lentil salad with roasted eggplant, chickpeas and olive oil dressing
- Snack: soy yogurt or edamame
- Dinner: baked salmon or tofu with okra or green beans and brown rice (try our healthy dinner ideas)
Simple swaps to start this week
You don’t need to overhaul your whole diet at once. Try one or two of these swaps each week:
- Swap a sugary cereal for a big bowl of oatmeal or oat bran.
- Swap butter on toast for avocado or a plant sterol-fortified spread.
- Swap a beef burger for a bean, lentil or salmon burger.
- Swap chips or cookies for a handful of unsalted nuts and a piece of fruit.
- Swap white rice for barley, brown rice or quinoa.
- Swap cream-based sauces for tomato or olive oil-based ones.
- Add a can of rinsed beans or lentils to soups, stews and salads.
- Stir a spoonful of psyllium or ground flaxseed into yogurt or smoothies.
Most people see changes in their cholesterol within four to six weeks of consistent dietary change, so ask your doctor about rechecking your levels after a couple of months to see how you’re doing.
Beyond diet
Regular aerobic exercise can raise HDL and lower triglycerides; see the benefits of cardio exercise. Losing excess weight, quitting smoking and limiting alcohol all help. Some people have genetically high cholesterol (familial hypercholesterolemia) and will need medication regardless of diet. Never stop prescribed cholesterol medicine without talking to your doctor; food works best alongside it, not instead of it. Get your cholesterol checked regularly, as recommended by your doctor.
Common questions
What foods lower cholesterol the fastest?
Plant sterol-fortified foods and soluble fiber from oats, barley, beans and psyllium can lower LDL within a few weeks. Combining them, as in the Portfolio Diet, gives the biggest effect.
How much can diet lower cholesterol?
Individual foods typically lower LDL by about 3% to 10%. Combined in the Portfolio Diet, reductions of around 13% to 30% have been seen in trials.
Is oatmeal good for cholesterol?
Yes. About 3 grams of oat beta-glucan a day, roughly 1.5 cups of cooked oatmeal, lowers LDL by around 10 mg/dL in pooled trials.
Are eggs bad for cholesterol?
For most healthy people, eggs have a smaller effect on blood cholesterol than saturated fat. People with high LDL or diabetes should ask their doctor about intake.
Can I stop my statin if I change my diet?
Don’t stop any medication without your doctor’s advice. Diet and statins work well together, and some people may be able to adjust their dose under medical supervision.
This article is for general information and isn’t a substitute for medical advice. Talk to your doctor about your cholesterol levels and treatment.
Explore more heart-healthy eating in our diet tips section.
