What Foods Should You Eat to Lower Cholesterol?

The foods with the strongest evidence for lowering cholesterol are those rich in soluble fiber, unsaturated fats, and plant sterols. A combination of dietary changes can reduce LDL (the “bad” cholesterol) by up to 10% within 8 to 12 weeks, and the effect grows when you stack multiple cholesterol-lowering foods together rather than relying on just one.

Soluble Fiber: The Most Reliable Starting Point

Soluble fiber works by trapping cholesterol in your digestive tract and pulling it out of your body before it reaches your bloodstream. Getting 5 to 10 grams of soluble fiber per day measurably decreases LDL cholesterol, and the general target for people actively trying to lower their numbers is 10 to 25 grams daily.

Oats are the most studied source. The FDA allows oat products to carry a heart-health claim based on evidence that 3 grams per day of beta-glucan, the specific type of soluble fiber in oats and barley, reduces the risk of coronary heart disease. A bowl of cooked oatmeal gives you roughly 2 grams, so a serving at breakfast plus an oat-based snack gets you to that threshold. Barley works through the same mechanism and can replace rice or pasta as a grain side.

Other high-soluble-fiber foods include beans, lentils, chickpeas, apples, citrus fruits, Brussels sprouts, and psyllium husk (found in fiber supplements and some cereals). Beans and lentils are especially efficient: a half-cup of cooked black beans has about 2 grams of soluble fiber plus plant protein, making them a strong swap for red meat at a few meals per week.

Nuts, Especially Walnuts

Tree nuts lower LDL through a combination of unsaturated fats, fiber, and plant sterols. A meta-analysis of 26 clinical trials found that walnut-enriched diets were associated with a 3.73% greater reduction in LDL cholesterol compared to control diets. Across a broader pooled analysis of 25 trials, the average daily nut intake that produced meaningful reductions in total and LDL cholesterol was about 67 grams, or roughly two-thirds of a cup.

That’s a generous portion and a lot of calories (around 400), so you don’t need to hit that number exactly. Even a small daily handful provides benefit. Almonds, pistachios, and walnuts have the most research behind them. Use them to replace snacks like chips or crackers rather than adding them on top of what you already eat.

Swap Saturated Fats for Unsaturated Fats

Replacing saturated fat with monounsaturated fat, the kind found in olive oil, avocados, and most nuts, specifically lowers LDL cholesterol. In a controlled trial of 35 adults with moderately high cholesterol, switching from a low-monounsaturated-fat diet to a high-monounsaturated-fat diet over six weeks reduced LDL by about 0.49 mmol/L (roughly 19 mg/dL), a clinically meaningful change from diet alone.

The practical translation: cook with olive oil or canola oil instead of butter. Choose avocado over cheese on sandwiches. Pick salmon or mackerel twice a week for their omega-3 fatty acids, which benefit heart health through additional pathways beyond LDL. On a 2,000-calorie diet, keep saturated fat below 13 grams per day. For context, a single tablespoon of butter has about 7 grams, and a fast-food cheeseburger can exceed your entire daily limit in one meal.

Plant Sterols and Stanols

Plant sterols (also called phytosterols) are natural compounds found in small amounts in vegetables, fruits, nuts, and grains. They work by blocking cholesterol absorption in the gut, essentially competing with cholesterol for space. Eating 2 grams of phytosterols daily lowers LDL cholesterol by 8% to 10%, which is one of the largest single-food effects you can get without medication.

The catch is that most whole foods contain only trace amounts, so reaching 2 grams from unfortified foods alone is difficult. That’s why many people use fortified products: certain margarines, orange juices, and yogurt drinks are specifically designed to deliver 0.65 grams or more per serving. Two servings a day with meals gets you into the effective range. Check labels for “plant sterols” or “plant stanols added.” These products work best when eaten consistently rather than occasionally.

Soy Protein

Replacing some animal protein with soy protein produces a modest but real drop in LDL. Research reviewed by Harvard Health found that eating 25 grams of soy protein per day over six weeks lowered LDL by about 3% to 4%. That might sound small on its own, but it adds up when combined with other dietary changes.

Twenty-five grams of soy protein is roughly equivalent to a cup of edamame plus a serving of tofu, or about three cups of soy milk spread through the day. The benefit likely comes both from the soy itself and from the fact that it’s displacing higher-saturated-fat protein sources like red meat and full-fat dairy.

What to Cut Back On

Lowering cholesterol is as much about what you remove as what you add. The biggest lever is reducing saturated fat, found in fatty cuts of meat, full-fat dairy, butter, cream, coconut oil, and most fried and processed foods. If you’re actively trying to lower cholesterol, keep dietary cholesterol below 200 mg per day as well. Egg yolks, organ meats, shrimp, and whole-milk dairy products are the most concentrated sources.

The American Heart Association recommends shifting from meat toward plant-based protein sources like beans, lentils, and nuts on a regular basis, choosing skinless and lean cuts when you do eat meat, and minimizing processed forms like sausage and bacon. Replacing full-fat dairy with low-fat or fat-free versions and choosing whole grains over refined grains rounds out the pattern. Ultra-processed foods deserve special attention because they often contain hidden saturated fat, added sugars, and excess sodium, all of which work against cardiovascular health.

Practical Swaps That Add Up

  • Breakfast: Oatmeal with walnuts and berries instead of eggs and bacon. This single meal can deliver 3 to 4 grams of soluble fiber plus heart-healthy fats.
  • Cooking fat: Olive oil or canola oil instead of butter or coconut oil.
  • Snacks: A handful of almonds or an apple instead of chips or pastries.
  • Protein at dinner: Lentil soup, tofu stir-fry, or baked salmon instead of a steak or cheeseburger.
  • Spreads: A plant-sterol-fortified margarine instead of butter on toast.
  • Dairy: Low-fat or fat-free yogurt and milk instead of full-fat versions.

How Long Before You See Results

Most people see a measurable change in blood lipids within 8 to 12 weeks of consistent dietary changes, with reductions in total cholesterol of up to 10% in that timeframe. That timeline assumes you’re making multiple changes at once, not just adding one new food. If you also lose excess weight, cholesterol levels can improve within a couple of months. Adding 150 minutes per week of moderate exercise, like brisk walking, can reduce LDL by up to 20% over 12 months.

The key word is consistency. Eating oatmeal for a week and then returning to your old pattern won’t move your numbers. The dietary strategies that work in clinical trials involve sustained changes over weeks and months. A follow-up blood test 3 months after making changes gives a reliable picture of whether your approach is working.