What to Eat If You Have High Cholesterol

If you have high cholesterol, the most effective dietary changes come down to three priorities: eating more soluble fiber, replacing saturated fats with unsaturated fats, and adding specific cholesterol-lowering foods like beans, oats, and fatty fish. These changes can reduce LDL cholesterol by up to 10% over 8 to 12 weeks, which is meaningful on its own and even more impactful alongside medication if your doctor has prescribed it.

Why Soluble Fiber Matters Most

Soluble fiber reduces cholesterol absorption in your bloodstream. It works by binding to bile acids in your gut (which are made from cholesterol), forcing your liver to pull more cholesterol out of your blood to make new ones. Eating 5 to 10 grams of soluble fiber a day measurably lowers LDL cholesterol.

That target is easier to reach than it sounds. A bowl of cooked oat bran (¾ cup) delivers about 2.2 grams of soluble fiber. Add a serving of black beans (¾ cup, 5.4 grams) at lunch or dinner and you’ve already hit your daily goal. Here are the highest-impact foods by soluble fiber content per serving:

  • Black beans, cooked (¾ cup): 5.4 g
  • Lima beans, cooked (¾ cup): 5.3 g
  • Navy beans, cooked (¾ cup): 3.3 g
  • Pinto beans, cooked (¾ cup): 3.2 g
  • Kidney beans, cooked (¾ cup): 2.6–3.0 g
  • Oat bran, cooked (¾ cup): 2.2 g
  • Avocado (½ fruit): 2.1 g
  • Brussels sprouts, cooked (½ cup): 2.0 g
  • Sweet potato, cooked (½ cup): 1.8 g
  • Orange (1 medium): 1.8 g
  • Oatmeal, cooked (¾ cup): 1.4 g
  • Broccoli, cooked (½ cup): 1.2–1.5 g

Beans are the clear winners. If you’re not used to eating them regularly, start with canned varieties in soups, salads, or over rice. They’re cheap, filling, and deliver more soluble fiber per serving than almost anything else.

Swap Saturated Fats for Unsaturated Fats

The type of fat you eat has a bigger effect on blood cholesterol than the amount of cholesterol in your food. Saturated fat, found in butter, cheese, fatty cuts of meat, and coconut oil, raises LDL. The American Heart Association recommends keeping saturated fat to 5% to 6% of daily calories, though many nutrition experts use 7% as a practical target. On a 2,000-calorie diet, that’s roughly 13 to 16 grams of saturated fat per day. For reference, a single tablespoon of butter has about 7 grams.

Replacing those fats with unsaturated ones improves your cholesterol profile. Good sources include olive oil, avocados, almonds, cashews, peanuts, sunflower seeds, and canola oil. These aren’t add-ons to your current diet. They’re replacements for the saturated fat you’re cutting back on.

Some practical swaps that make a real difference:

  • Instead of butter: Cook with olive, canola, or sunflower oil.
  • Instead of heavy cream: Use evaporated skim milk in recipes.
  • Instead of whole-milk cheese and yogurt: Switch to low-fat versions.
  • Instead of marbled or prime-grade beef: Choose cuts labeled “choice” or “select,” and trim visible fat before cooking.
  • Instead of skin-on poultry: Remove the skin from chicken and turkey before cooking.

Eat Fatty Fish Twice a Week

Fatty fish is rich in omega-3 fatty acids, which lower triglycerides and support heart health. The American Heart Association recommends two servings per week, with each serving being about 3 ounces cooked (roughly ¾ cup of flaked fish). The best sources are salmon, mackerel, sardines, herring, anchovies, and bluefin tuna. Oysters and mussels are also high in omega-3s.

Fish works best as a replacement for red meat rather than an addition to it. Swapping a steak dinner for grilled salmon gives you the double benefit of adding omega-3s while cutting saturated fat.

Soy Protein and Plant Sterols

Soy protein has a modest but real effect on LDL. Eating about 25 grams of soy protein per day lowers LDL by roughly 3% to 4% over six weeks. You can reach that through combinations of tofu, edamame, soy milk, and soy-based meat alternatives. A soy burger patty contains about 10 to 15 grams of soy protein, and a cup of edamame has around 17 grams, so one or two soy-based foods a day gets you close.

Plant sterols and stanols are naturally occurring compounds found in small amounts in grains, vegetables, fruits, and nuts. They block cholesterol absorption in your gut, working through a similar mechanism as soluble fiber but through a different pathway. Getting 2 grams per day lowers LDL by 8% to 10%. That’s hard to reach through whole foods alone, which is why many people get them through fortified foods like certain margarines, orange juices, and yogurt drinks that have plant sterols added. Look for products listing at least 0.65 grams per serving and aim for two servings a day.

What About Eggs?

Eggs have been a source of confusion for years. Current guidance has shifted away from strict limits on dietary cholesterol for the general population, but the picture is different if you already have high cholesterol or heart disease. In that case, experts recommend limiting yourself to four egg yolks per week. Egg whites are fine since they contain protein without cholesterol or saturated fat. Keep in mind that the four-yolk limit assumes you’re also watching saturated fat from other sources. If your diet is already heavy in cheese, butter, and red meat, even four yolks may be more than ideal.

How to Build a Cholesterol-Lowering Day

Putting this together doesn’t require a dramatic overhaul. A realistic day might look like oatmeal with walnuts and an apple for breakfast (about 3 grams of soluble fiber), a bean-heavy salad with olive oil dressing for lunch (another 4 to 5 grams), and grilled salmon with roasted Brussels sprouts and sweet potato for dinner (2 more grams of soluble fiber plus omega-3s). That’s 9 to 10 grams of soluble fiber without any supplements, plus healthy fats replacing saturated ones throughout.

You don’t need to eat perfectly at every meal. The pattern over weeks matters more than any single day. A Mediterranean-style diet, built around vegetables, beans, whole grains, nuts, olive oil, and fish, with limited red meat and dairy fat, consistently shows the best results for cholesterol.

How Quickly You’ll See Results

Dietary changes typically lower cholesterol by up to 10% over 8 to 12 weeks. That means if your LDL is 160, you might see it drop to around 144 through diet alone. That’s a meaningful shift, especially if it moves you out of a higher risk category. If you’re also carrying extra weight, losing even a moderate amount can improve your numbers within a couple of months. Your doctor will likely want to recheck your lipid panel after about three months to see how your dietary changes are working before making further recommendations.