Millions of people have high cholesterol. While it raises your risk for heart disease, you can help manage it by making changes to what you eat.
If your cholesterol is high, what you eat can really help. You don’t have to change everything at once. Adding some foods and cutting back on others can improve your cholesterol over time.
Here are 10 foods that research shows can help lower LDL (bad) cholesterol, protect your arteries, and support your heart. You’ll also see easy ways to add them to your meals.
If you have high cholesterol or other heart risks, check with your doctor to find the best plan for you. These foods can help, but they don’t replace medical advice.
1. Fatty Fish (Salmon, Mackerel, Sardines, Herring)
Fatty fish are a top source of omega-3 fatty acids. These healthy fats lower triglycerides and may help raise HDL (good) cholesterol while lowering LDL.
Omega-3s also help reduce inflammation and keep your blood vessels flexible, which protects your heart.
Try to eat two servings of fatty fish each week. Each serving is about 3 to 4 ounces.
You can grill or bake salmon with lemon and herbs, put sardines on whole-grain toast, or add canned mackerel to salads or pasta.
2. Oats and Whole Grains
Oats have beta-glucan, a soluble fibre that attaches to cholesterol in your digestive system and helps remove it before it gets into your blood.
Other whole grains like barley, quinoa, and brown rice offer similar benefits. They also help you feel full and keep your blood sugar steady.
Try starting your day with a bowl of oatmeal, or swap out refined grains for whole grains at lunch and dinner.
You can make overnight oats with berries and nuts, add barley to soups, or pick whole-grain bread and pasta instead of white.
3. Beans and Lentils
Beans, lentils, and chickpeas are full of soluble fibre. They also give you plant-based protein, so you can use them instead of meat and still feel satisfied.
Research shows that eating legumes often can lower your LDL cholesterol by a few percentage points.
Aim to add beans or lentils to your meals three or four times a week.
You can add black beans to tacos or burritos, toss chickpeas into salads, or make lentil soup or stew. Keeping canned beans on hand makes it easy.
4. Nuts (Almonds, Walnuts, Pistachios)
Nuts are packed with unsaturated fats, fibre, and plant sterols, which all help lower LDL cholesterol. Walnuts have even more omega-3s than other nuts.
Nuts are high in calories, so watch your portions. Even a small handful each day can help.
About one ounce, or a small handful, of nuts per day is enough.
Snack on raw or lightly roasted almonds, add chopped walnuts to oatmeal or salads, or spread almond butter on whole-grain toast.
5. Olive Oil
Extra virgin olive oil is rich in monounsaturated fats, which lower LDL cholesterol but don’t lower HDL. It also has antioxidants called polyphenols that help protect your arteries.
Switching from butter or other saturated fats to olive oil is an easy way to help your heart.
About one to two tablespoons of olive oil per day is linked to heart benefits.
Drizzle olive oil over salads, use it to sauté vegetables, or dip whole-grain bread in it for a snack.
6. Apples, Berries, and Citrus Fruits
Fruits such as apples, strawberries, blueberries, oranges, and grapes are full of soluble fibre and antioxidants. They help your body absorb less cholesterol and reduce inflammation in your blood vessels.
For example, the pectin in apples works much like the beta-glucan in oats.
Try to eat two or three servings of fruit each day.
Snack on an apple with almond butter, add berries to yoghurt or oatmeal, or have an orange in the afternoon.
7. Leafy Greens (Spinach, Kale, Collard Greens)
Dark leafy greens are full of fibre, antioxidants, and compounds that bind to bile acids, which are made from cholesterol. This makes your body use more cholesterol to replace them, lowering your overall cholesterol.
They are also low in calories and packed with nutrients.
Try to add greens to at least one meal each day.
Add spinach to smoothies, sauté kale with garlic and olive oil, or use collard greens as wraps instead of tortillas.
8. Avocados
Avocados are full of monounsaturated fats and fibre, which both help lower LDL cholesterol. They are also filling, so they work well as a healthier fat option.
Eating an avocado each day can lower LDL levels, especially if you are overweight. Half to one avocado daily is a good amount, depending on your calorie needs.
Try spreading mashed avocado on toast, adding slices to salads or grain bowls, or blending it into smoothies for a creamy texture.
9. Soy Foods (Tofu, Tempeh, Edamame, Soy Milk)
Soy-based proteins are low in saturated fat and have isoflavones, which may help lower LDL cholesterol. Swapping animal protein for soy a few times a week can improve your cholesterol.
About 25 grams of soy protein per day, or about two to three servings, is linked to cholesterol benefits.
Stir-fry tofu with vegetables, snack on steamed edamame, use soy milk in smoothies or cereal, or try tempeh in sandwiches or grain bowls.
10. Garlic
Eating a clove or two of fresh garlic each day gives you allicin, a compound shown to lower LDL cholesterol and support healthy blood pressure. Fresh garlic is best, since processing reduces its active compounds.
Garlic also helps your immune system, so it’s good for more than just your heart. Try mincing it into salad dressings or pasta sauces, sautéing it in olive oil for stir-fries, or roasting whole cloves with vegetables. If raw garlic is too strong for you, lightly cooking it still keeps many of its benefits.
What to Reduce
It’s important to add heart-healthy foods, but it also helps to cut back on foods that raise LDL cholesterol.
Try to limit:
- Saturated fats are found in red meat, butter, cheese, and full-fat dairy.
- Trans fats in processed and fried foods.
- Refined carbs like white bread, pastries, and sugary snacks.
You don’t have to cut these out completely. Reducing them while eating more of the foods above can have a bigger impact.
For more guidance on building a sustainable approach to nutrition, explore other articles in our Healthy Eating section.
How to Make It Work
Lowering your cholesterol takes time. Most people notice improvements after a few weeks or months of steady changes to their eating habits.
Here are some steps to help you get started:
- Choose two or three foods from this list and add them to your weekly meals.
- Make swaps instead of just adding more—try olive oil instead of butter, brown rice instead of white, or nuts instead of snack crackers.
- Keep things simple. Frozen vegetables, canned beans, and pre-washed greens all work well.
- Track your progress by getting your cholesterol checked every few months to see what’s working.
Final Thoughts
Cholesterol doesn’t have to control your health. The foods you pick each day can help your heart, lower your risk, and help you feel better.
Start with small steps and build from there. If you’re not sure where to begin or how these changes fit your health, talk with your doctor or a dietitian.
Your heart is worth the effort you put in.

