15% off your first subscription blood test. Discount auto-applied at checkout.

9 foods high in iron

Iron-rich foods — red meat, watercress, baked beans, apricots and more
Written by Alice Sholl
8th Mar 2023 • 3 minute read
Dr Jenny Williams
Reviewed by
Dr Jenny Williams, MBBS MRCP MRCGP Dip BSLM/IBLM

Iron is a mineral that’s found in lots of different foods. Your red blood cells need iron to transport oxygen around your body to help it function properly. A lack of iron can lead to iron-deficiency anaemia, which might cause tiredness, heart palpitations, and shortness of breath. The good news is you can give your body enough iron by eating the right foods.

1. Baked beans

Baked beans contain lots of iron. Like other pulses, they’re a great source of iron and protein but contain less fat than meat.

One 200 gram can of baked beans contains 2.8 milligrams of iron. That’s 19% of your daily iron if you’re a 30-year-old woman and 19% if you’re a man.

2. Red meat

Red meat, like beef, is a good source of iron when eaten as part of a healthy diet. One 70 gram serving contains 2.5 milligrams of iron.

But you should avoid eating more than 350 grams of red meat per week. Red meat, especially processed meat like bacon and salami, are linked to bowel cancer. You should try to avoid eating processed meats altogether.

Meat and fish contain heme iron, which your body absorbs more easily than iron in plant-based foods. 

3. Raisins

Dried fruit like raisins, apricots, figs and prunes contain lots of iron — just a small amount of it can boost your intake.

But dried fruit contains lots of sugar, so try not to eat too much. One portion of your 5 a day is around 30 grams or 1 tablespoon. 

4. Dark green vegetables

Dark green leafy vegetables like kale, spinach, and watercress are great sources of iron.

Try adding them to meals as an ingredient or side dish to boost the amount of iron you’re eating. 

5. Eggs

Eggs are a good source of iron. They also contain:

Your body absorbs iron from animal products (like meat and eggs) more easily than from plant-based foods. So eggs are a useful way of increasing your iron intake if you choose not to eat meat.

6. Peanut butter

Peanuts are full of iron and protein. They also contain important vitamins and minerals like vitamin E and magnesium.

Try to choose a peanut butter that has as little added salt or sugar as possible.

Tree nuts have lots of iron too, like:

  • hazelnuts
  • almonds
  • brazil nuts
  • cashews
  • pistachios

7. Salmon

Salmon is a good source of iron. So are other fish, like:

  • prawns
  • mackerel
  • haddock
  • tuna

Salmon is also an oily fish. Oily fish are a good source of omega-3, a family of fats that help keep your body healthy. 

8. Pumpkin seeds

Like nuts, seeds are a good source of iron.

They’re easy to add to food you already eat too — you can sprinkle them on food like yoghurts, smoothies and salads. Or you can eat them as a snack. Just a tablespoon can boost your iron intake. 

9. Iron-fortified cereals

Lots of breakfast cereals have iron added to them. Eating them is an easy way to add iron to your diet — they don’t need much preparation and can be found in most supermarkets.