Good and Bad Foods for High Cholesterol

Medically Reviewed by James Beckerman, MD, FACC on September 15, 2025
10 min read

Some foods are naturally high in cholesterol, a fat-like substance that is also in every cell of the human body. Those foods include eggs, high-fat meats, butter, and full-fat milk. But you might be surprised to hear that limiting the amount of cholesterol you eat isn't the best way to lower harmful cholesterol in your blood, the kind that can clog your arteries and lead to heart attacks and strokes. 

Instead, heart doctors now say that limiting saturated fat -- found in many but not all the same foods -- does more to lower your blood cholesterol levels. They also recommend avoiding artificial trans fats, which are found in some processed foods. 

But eating to lower cholesterol isn't just about the foods you limit or avoid. It's also about the foods you choose more often. An all-around heart-healthy diet, one that includes lots of fruits, vegetables, and whole grains, along with poultry, fish, nuts, and certain vegetable oils, can help lower your cholesterol. 

It's also naturally high in nutrients you need for overall health, like calcium, omega-3 fatty acids, and fiber, and low in unhealthy fats, salt, and sugar. It doesn't include many highly processed foods.

If you are not used to eating and cooking without relying on a lot of unhealthy fats and processed foods, take heart. No matter how busy you are, you can work a better diet into your life if you shop smart, keep good-for-you foods handy, and seek out professional nutrition advice when you need it.

In the past, doctors often recommended strict limits on high-cholesterol foods like eggs. They told everyone to limit the overall amount of cholesterol they ate to a specific level. The recommended level was lowest for people with high blood cholesterol. 

Then, the experts learned cholesterol in food didn't have as big an impact on the cholesterol in your body as they thought. As a result, today's guidelines from the U.S. federal government don't set specific cholesterol limits.

But there's a big catch: The guidelines still say you should eat as little cholesterol as you can without harming your nutrition. That's mostly because foods high in cholesterol are often high in saturated fat. Saturated fat raises levels of so-called "bad cholesterol," or LDL (low density lipoprotein). High levels of LDL raise your risk of heart attack and stroke. 

A few foods are high in cholesterol but low in saturated fat. That includes eggs and shellfish, like shrimp and lobster. The American Heart Association says it's fine for most healthy people to eat an egg a day and for healthy older people in need of easy nutritious meals to eat up to two a day. But the group still says that if you have high cholesterol, it's better to limit the cholesterol in your diet as much as you can.

And don't forget the rest of your plate or what you eat the rest of the day. If you have your eggs with bacon or fry them in butter, you get a big added dose of saturated fat. You'll get less saturated fat and more of the nutrition you need for a healthy heart from a diet rich in fruits, vegetables, whole grains, beans, and good fats. 

You get other benefits from these foods. They also:

  • Lower your blood pressure
  • Reduce your risk of type 2 diabetes
  • Improve brain health
  • Keep your kidneys healthier
  • Boost immunity
  • Protect against some cancers

What can I eat to reduce cholesterol?

Focus on the following foods when you’re at the grocery store or farmers market or when you're eating out. 

Produce: Look for colorful fruits and vegetables such as berries, grapes, pears, oranges, apples, tomatoes, yams, broccoli, cauliflower, celery, spinach, kale, dark leafy greens, squash, zucchini, eggplant, and bell peppers. Naturally cholesterol-free , high in fiber, and low in fat, fruits and vegetables are the foundation of a good diet.

Include some avocados, if you can. They contain a heart-healthy fat and plenty of fiber. Studies suggest they can raise good cholesterol levels and improve the quality of your LDL cholesterol.

Whole grains: Oats, quinoa, barley, wheat berries, flaxseed, polenta, millet, bulgur, and whole wheat offer fiber, complex carbohydrates, and protein. Look for breads, pastas, and cereals made with a variety of whole grains.

Make sure some of the whole grains you choose are rich in soluble fiber, a type that prevents your digestive system from absorbing cholesterol. Oat bran, oatmeal, and oat-based cold cereals are high in soluble fiber. So is barley.  

You will need to avoid certain grains, though, if your doctor says you can’t eat gluten or you have celiac disease, which affects your small intestine.

Be sure to read the labels to make sure the products you buy are also low in fat, sugar, and sodium. For example, choose cereals that have 5 or more grams of dietary fiber and fewer than 8 grams of sugar per serving.

Meat and beans: Choose skinless cuts of chicken or turkey breasts. If you eat red meat, choose,  lean cuts such as pork tenderloin and beef round, sirloin, or tenderloin. Read labels to be sure the meat is at least 92% fat-free. Consider heart-healthy meat substitutes such as seitan, tempeh, and tofu.

Replacing some of the meat you eat with beans can help lower your cholesterol by boosting your intake of soluble fiber and cutting saturated fat. Buy protein-rich beans and legumes such as lentils, black beans, soy/edamame, kidney beans, and garbanzo beans.

Nuts and seeds: They are high in fiber, healthy fats, and other nutrients. Eating just 2 ounces a day can slightly lower your LDL cholesterol. They can also be high in calories, so snack on small amounts or use them as garnishes in salads or as toppings for your oatmeal or yogurt. Stock up on the plain varieties. When you buy natural-style peanut butter or almond butter, look for products that contain just the nuts, or just nuts and salt.

Dairy/calcium:  To limit saturated fat while getting the calcium you need, look for low-fat or reduced-fat dairy products such as yogurt, milk, cottage cheese, cream cheese, sour cream, creamer, and cheese. Canned fish, such as tuna, sardines, and salmon, also pack a lot of calcium.

If you’re lactose-intolerant or vegan, try calcium-enriched or fortified cereals and juices and green, leafy vegetables to fill the calcium gap. Soy milk, almond milk, and other nondairy products may also be options. When shopping for these drinks, choose unsweetened products to avoid added sugar.

Vitamin D, which helps you take in more calcium, is often added to dairy products, some cereal products, and margarine. It’s also found naturally in fish and egg yolks.

Omega-3-rich foods: Most of us aren’t getting enough of this good fatty acid in our diets. While these fats don't directly affect LDL cholesterol levels, they can raise levels of good (HDL, high density lipoprotein) cholesterol and lower levels of triglycerides, which are harmful blood fats.

You find omega-3 fatty acids in fish. Coldwater fish such as salmon, tuna, halibut, herring, and mackerel have higher amounts. You can also find plant omega-3 fatty acids in walnuts, chia seeds, and ground flaxseed.

Also, look for foods enriched with it. These may include eggs, dairy, soy products, breads, cereals, and pasta. 

Condiments.  Choose condiments and sauces low in salt. While it won't lower your cholesterol levels, eating less salt can lower your blood pressure and reduce your heart risks. Even small amounts add up fast. Look for low-sodium options when buying ketchup, mustard, mayonnaise, barbecue sauce, soy sauce, and salad dressings. Apple cider, balsamic, rice, raspberry, and red wine vinegar also make heart-healthy salad dressing options.

Healthier oils: Some oils can be good for you. Olive oil can help raise the level of your good cholesterol (HDL). Look for other vegetable-based oils: canola, soy, and sunflower. Cut down on butter in your cooking with nonfat cooking spray or trans-fat-free margarine. Try replacements for fat when baking, such as applesauce, fruit puree, or yogurt.

Plant sterol-enriched foods: Plant sterols and stanols are substances that help block cholesterol from being absorbed in your small intestine. They are found naturally in foods in only tiny amounts. You can get some plant sterols from produce, nuts, seeds, and legumes, but not nearly the 2 grams a day recommended for people with high cholesterol.

If you need more, look for sterol-enriched foods such as margarine spreads, some yogurt or low-fat milk, some fruit juices, and some cereal. Be sure to read the labels to make sure the food is not also high in fat and sugar.

To help you make the best choices, avoid or limit these foods that can raise cholesterol or otherwise harm your heart health.

Foods with artificial trans fats

Natural trans fats, found in small amounts in animal foods like milk and meat, may not be a major cause for concern. But artificial trans fats, long found in many processed foods, are a different story. These fats, created in the food manufacturing process, are known to increase your bad LDL cholesterol, lower your good HDL cholesterol, and lead to blocked arteries. They are so bad for you that the FDA has banned their use. 

But there's a catch: Food manufacturers don't have to list trans fat if they amount to less than half a gram a serving. That means trace amounts, but still enough to harm you, could be lurking in products including  pies, pie crusts, cookie dough, shortenings and spreads like margarine and peanut butter, as well as french fries another other fried packaged foods.  

Your best defense is to read the nutrition label and look for "partially hydrogenated oil," an oil that becomes solid at room temperature. That's a sign the food contains trans fat. 

There's no healthy amount of trans fat to eat, so you should always try to avoid it.

Foods high in saturated fat

These include fried foods and red meats, such as beef, pork, and lamb, as well as butter and other high-fat dairy foods. It also includes foods cooked in tropical oils, such as coconut and palm oils. When you do choose these foods, consider the total amount of saturated fat you're eating and make sure you stick to low overall levels each day. 

The American Heart Association recommends getting no more than 6% of your daily calories from saturated fat. If you eat 2,000 calories, that's about 13 grams.  U.S. dietary guidelines suggest up to 10% can be OK. If you eat 2,000 calories, that's 20 grams. 

A cup of whole milk has 4.5 grams of saturated fat. A tablespoon of butter has 7.3 grams. A quarter pound patty of 80% fat ground beef has 5 grams.

Processed meat

Foods such as bacon, hot dogs, and sausage are processed from the fattiest cuts of red meat, making them especially high in saturated fat and cholesterol. They also tend to be very high in sodium.

In addition to raising cholesterol levels, processed meats have been shown to contribute to colon cancer. Studies show a probable connection between cancer and red meat as well, but there's limited evidence that eating red meat is the only cause.

Sugary foods

Eating lots of sugary foods may cause weight gain, heart disease, and diabetes. It can also raise your levels of bad LDL cholesterol and other harmful blood fats, while lowering your levels of good HDL cholesterol. Try to limit how much sugar you eat and drink. 

You probably know many of the “usual suspects”: soda, sweet tea, candy, cakes, cookies, and ice cream, among others. But sugar is added to things you might not even think about — from spaghetti sauce to fast food. This includes many ketchups, breakfast bars, and even tonic water.

Read labels. Here are some common added sugars to check for:

  • Brown sugar
  • Corn sweeteners and syrup
  • Dextrose and fructose
  • Fruit juice concentrates
  • Glucose
  • High-fructose corn syrup
  • Lactose
  • Maltose
  • Sucrose

Foods that have one or more of those things listed high on the ingredient list may have a lot of sugar.

Salty foods

Too much sodium can raise your blood pressure , adding to your heart risks. You probably already know not to have too much canned soup and salty snack foods. Sodium can also lurk in breads and rolls, cold cuts and cured meats, pizza, some chicken, and some fast-food sandwiches. 

You might be surprised how often it’s found in frozen foods, too. When in doubt, read labels. Try not to get more than 2,300 milligrams per day.

Shop when you’re full: You’ll be less tempted by foods that raise your cholesterol if you’re not hungry. Some nutritionists recommend avoiding certain aisles in the supermarket. Bypass rows with bakery items, crackers, cookies, and other foods high in saturated fat .

Read food labels: Ingredients are listed by weight, from most to least, so it’s helpful to focus on the first three to five ingredients. Beware of prepared foods promoting one particular ingredient — look at the whole package instead.

Eating and shopping habits can be hard to change. Talk to your doctor or dietitian about more ways to improve your diet.

Your body needs cholesterol, but too much of the harmful kind raises your risk for heart attack and stroke. Limit trans and saturated fats (like butter and red meat), watch foods high in cholesterol, and focus on fiber and healthy fats from vegetables, fruits, whole grains, nuts, fish, and olive oil.

What should I eat if my cholesterol is high?

 A diet rich in fruits, vegetables, whole grains, and healthy fats will help lower your cholesterol. Boosting fiber can be especially helpful. A diet high in fiber contributes to gut health and can prevent too much cholesterol from being absorbed into your bloodstream.

What are the 15 foods that lower cholesterol?

  1. High-fiber foods such as hot or cold cereal with oats
  2. Whole grains such as barley
  3. Beans (such as lentils, black-eyed peas, navy beans, kidney beans, and garbanzo beans)
  4. Okra and eggplant (low-calorie, fiber-rich vegetables)
  5. Spinach and leafy greens containing lots of water
  6. Avocados, a good source of monounsaturated fatty acids (MUFAs)
  7. Nuts, such as peanuts, walnuts, almonds, and others
  8. Polyunsaturated oils such as vegetable, olive oil, canola, and safflower
  9. Fruits such as apples, grapes, oranges, and strawberries, which are high in pectin, a type of soluble fiber
  10. Soybeans and foods made of soy such as tofu
  11. Chicken and turkey minus the skin
  12. Omega-3 fatty acid-rich fish such as tuna, salmon, and trout
  13. Fiber supplements made of psyllium, which offers soluble fiber
  14. Whey, a protein found in dairy products that, when used as a supplement, may lower total cholesterol
  15. Nutritious foods with added sterols and stanols, substances found in plants that block the absorption of cholesterol