The most iron-rich foods include shellfish, organ meats, red meat, legumes, and fortified cereals. How much iron you need depends on your age and sex: adult men need about 8 mg per day, women of childbearing age need 18 mg, and pregnant women need 27 mg. Hitting those numbers is easier once you understand which foods deliver the most iron per serving and how to help your body absorb it.
Two Types of Dietary Iron
Iron in food comes in two forms. Heme iron is found only in animal products and is the more efficiently absorbed type, with roughly 25% of it making it into your bloodstream. Non-heme iron comes from plants, eggs, and fortified foods, and your body absorbs 17% or less of it. Both count toward your daily needs, but the difference in absorption matters. If you eat little or no meat, the Institute of Medicine recommends aiming for 1.8 times the standard iron requirement to compensate.
Best Animal Sources of Iron
Shellfish dominate this category. Just three oysters provide 6.9 mg of iron, nearly a full day’s worth for an adult man. Three ounces of mussels deliver 5.7 mg. Crab, clams, sardines, and shrimp each contribute between 1.8 and 2.5 mg per serving.
Organ meats are the single most concentrated source, ranging from 1.8 mg to a remarkable 19 mg per three-ounce serving depending on the type and animal. Liver is at the high end of that range. Among more common cuts, duck breast provides 3.8 mg per three ounces, bison delivers 2.9 mg, and beef comes in at 2.5 mg. Lamb and turkey leg each offer about 2.0 mg per serving.
Eggs are another option, though they vary more than most people realize. A single turkey egg contains 3.2 mg of iron, and a duck egg has 2.7 mg. A standard chicken egg provides less, but it still contributes.
Best Plant Sources of Iron
Legumes are the workhorses of plant-based iron. Lentils, chickpeas, kidney beans, and soybeans all deliver meaningful amounts per cooked cup. Tofu and tempeh are similarly strong options. Fortified breakfast cereals can be especially high, with some brands providing 100% of the daily value in a single serving, though the exact amount varies by product, so checking the nutrition label is worth the effort.
Pumpkin seeds, sesame seeds, and hemp seeds are surprisingly iron-dense for their size. Dark leafy greens like spinach and Swiss chard contribute non-heme iron as well, though they also contain compounds that reduce absorption (more on that below). Dried fruits such as apricots, raisins, and prunes offer a modest boost, and they’re easy to add to oatmeal or trail mix.
How to Absorb More Iron From Food
Pairing iron-rich foods with a source of vitamin C is one of the simplest ways to increase absorption, particularly for non-heme iron. Adding bell peppers to a bean stew, squeezing lemon juice over lentils, or eating strawberries alongside fortified cereal can make a noticeable difference. Vitamin C chemically converts non-heme iron into a form your gut absorbs more readily.
Eating heme and non-heme iron sources in the same meal also helps. The heme iron in a small amount of meat or seafood enhances absorption of the non-heme iron from plants eaten alongside it. Even a modest portion of animal protein at a meal can improve your overall iron uptake.
What Blocks Iron Absorption
Tea is one of the most studied inhibitors. The tannins in black tea can reduce iron absorption by roughly 60 to 90% when consumed with a meal, depending on the amount. In one study of premenopausal women, drinking 200 mL of black tea with food reduced iron absorption by 21% compared to warm water. Larger servings of tea cause greater reductions: iron bioavailability dropped from about 18% to 7% with 150 mL of tea and from nearly 20% to under 6% with 300 mL.
Coffee has a similar effect. Studies show it can inhibit iron bioavailability by over 60%, placing it in the same range as tea. If you’re working to increase your iron intake, drinking coffee or tea between meals rather than with food gives your body a better chance to absorb the iron on your plate.
Phytates, found naturally in whole grains, nuts, and legumes, also bind to iron and reduce absorption. This doesn’t mean you should avoid these foods. Soaking beans before cooking, sprouting grains, and fermenting bread (as in sourdough) all break down phytates and improve iron availability. Calcium in large doses can interfere with iron absorption too, so if you take a calcium supplement, spacing it away from iron-rich meals is a practical move.
Cooking in Cast Iron
Using cast iron cookware genuinely adds iron to your food, especially when you cook acidic dishes. Spaghetti sauce prepared in a cast iron pot contained 2.10 mg of iron per 100 grams, compared to just 0.44 mg in the same sauce cooked in a non-iron pot. Apple sauce showed an even more dramatic difference: 6.26 mg per 100 grams in cast iron versus 0.18 mg in other cookware. Pea paste cooked in an iron pot had 3.3 times the iron content of the same recipe made in a clay pot.
The acidity of the food is what drives this effect. Tomato-based sauces, dishes with citrus or vinegar, and foods with a longer cooking time leach the most iron from the pan’s surface. One study found that drinking one liter of lemon water prepared with an iron ingot met over 76% of daily iron needs. You won’t get that much from a single skillet meal, but regularly cooking acidic foods in cast iron adds up over time.
Iron Needs for Vegetarians and Vegans
Because plant-based diets rely entirely on non-heme iron, vegetarians and vegans face a higher bar. The recommended intake for vegetarians is 1.8 times the standard amount. That translates to about 14 mg per day for men and 32 mg per day for women of childbearing age. These are achievable numbers, but they require consistent attention to food choices and absorption strategies.
Combining vitamin C with every iron-rich meal, choosing fortified cereals and breads, including legumes and seeds daily, and timing tea and coffee away from meals are all practical habits that close the gap. Cooking in cast iron provides an additional passive source. People following strict plant-based diets who experience fatigue, pale skin, or unusual cold sensitivity may want to have their ferritin levels checked. Ferritin below 20 ng/mL indicates empty iron stores regardless of other bloodwork, while levels between 20 and 50 ng/mL are a gray area where symptoms can already appear.