Foods That Lower Cholesterol

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.

Heart-shaped dish of fruit and vegetables, stethoscope, "HEART DAY" letters

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

FoodDaily amount testedEffect on LDL in trials
Oats and barley (beta-glucan)3 g or more of beta-glucanabout 0.25 mmol/L (10 mg/dL) lower
Beans, lentils and chickpeasAbout 130 g, roughly one servingabout 0.17 mmol/L (7 mg/dL) lower
Tree nuts1 serving (about 30 g)about 4.8 mg/dL lower, more at 60 g or above
Soy proteinAbout 25 g of soy protein3% to 4% lower
Plant sterols and stanols1.5 to 3 g6% 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

MealExampleHelpful foods
BreakfastOats cooked with soy milk, topped with berries and walnutsBeta-glucan, soy, nuts
LunchLentil and vegetable soup with whole grain breadPulses, fiber
SnackA small handful of almonds and an appleNuts, soluble fiber
DinnerBaked salmon with barley, broccoli and an olive oil dressingOily 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.