Spinach scores 739 on the ANDI scale. Kale scores 1000.

Fuhrman built the ANDI (Aggregate Nutrient Density Index) to rank foods by micronutrients per calorie. By that metric, spinach is a top-five food. So is kale. Both are deep green, calorie-sparse, and packed with vitamins and minerals on paper.

The CRON protocol bans spinach entirely. Kale is a primary vegetable.

That discrepancy is the whole argument.

What Fuhrman Got Right

In Eat to Live (2003), Joel Fuhrman articulated a framework most nutrition advice still ignores: the correct optimization target is not calories, not protein, not fat. It is nutrients per calorie.

His formulation: Health = Nutrients / Calories.

That equation is correct. It is the same equation CRON optimizes. It is the equation Roy Walford’s research operationalized in the 1980s and 1990s. A calorie that carries no micronutrients is a calorie spent. A calorie that carries iron, zinc, magnesium, B12, selenium — that calorie works.

Fuhrman built ANDI to score 34 nutritional parameters across a per-calorie serving of each food: vitamins, minerals, phytochemicals, antioxidants, fiber. Foods score on a 1-1000 scale. The top scores go to cruciferous leafy greens. His broader framework — calorie restriction, whole foods over processed food, obsessive attention to micronutrient completeness — is legitimate nutrition science, not wellness influencer content. He is a practicing physician who has published peer-reviewed research.

The framework is right. The execution has a gap.

What ANDI Measures and What It Doesn’t

ANDI scores nutrients present in food. It does not score nutrients absorbed from food.

Those are different numbers.

The distinction is bioavailability: the fraction of a nutrient in food that actually crosses the gut wall and enters circulation. A food can carry 99 mg of calcium per 100g serving. If 76.7% of that calcium is bound by oxalic acid into insoluble crystals that pass straight through, your body receives approximately 23 mg. The ANDI score reflects the 99. Your bloodstream gets the 23.

This is not a minor rounding error. It is a methodological gap that matters most for the foods at the top of the ANDI list.

The Spinach Problem

Spinach scores 739 on ANDI. It is one of Fuhrman’s most recommended greens. It is also one of the highest-oxalate foods in the human diet.

Raw spinach contains 750–1,145 mg of oxalate per 100g. The threshold for a high-oxalate food is 100 mg per serving. Spinach exceeds that threshold by a factor of 7 to 11.

Oxalic acid binds to calcium and magnesium in the gut, forming insoluble salts that the body cannot absorb. The research is direct:

Calcium: A study in the Journal of Food Science and Technology found that 76.7% of calcium in spinach is biounavailable due to oxalate binding. Kale — with approximately 20 mg oxalate per 100g — delivers calcium at 40–59% absorption. Less calcium on paper, more calcium in circulation.

Magnesium: Schwartz et al. measured magnesium absorption directly from spinach and kale meals. Spinach delivered 26.7% absorption; kale delivered 36.5%. Same mineral, same digestive system, different outcome — because oxalate chelated roughly a third of the magnesium before absorption.

Iron: The relationship between oxalate and non-heme iron absorption is more complex. A 2007 randomized crossover study found that oxalic acid does not independently inhibit non-heme iron absorption from spinach in humans. Spinach’s poor iron delivery is better attributed to its high polyphenol content and calcium levels, which bind non-heme iron before absorption. The practical outcome is the same: iron bioavailability from spinach is estimated at 1.4–1.7%, compared to 5–12% from low-oxalate vegetables and 15–35% from animal sources. The mechanism is partly distinct from oxalate; the absorption loss is not.

The ANDI score for spinach does not account for any of this. It counts the calcium, magnesium, and iron that spinach contains. It does not adjust for what spinach prevents you from absorbing.

Fuhrman is aware that oxalates affect calcium absorption — he has noted that patients targeting calcium intake should prefer kale and bok choy over spinach. But that acknowledgment has not moved spinach off his recommended foods list or out of the ANDI top tier. The adjustment is verbal. The score remains unchanged.

The Heme Iron Problem

Fuhrman’s diet is predominantly plant-based. The ANDI framework implicitly favors plants — they score well on micronutrients per calorie because they carry vitamins and fiber without the caloric density of animal foods.

This creates a structural problem for iron, one that ANDI cannot score its way out of.

All plant iron is non-heme iron. Non-heme iron absorbs at 2–20% depending on dietary context. Heme iron from animal sources absorbs at 15–35%, and that absorption is relatively stable — it is not significantly inhibited by competing dietary factors the way non-heme iron is.

An active man requires 8 mg of iron per day at minimum. The gap between a non-heme diet and heme iron sources is not bridgeable by eating more spinach. The spinach iron is largely not available. The plant iron that is available — from legumes, lentils, fortified grains — sits at the low end of the 2–20% range when consumed with calcium, polyphenols, or phytates (all common in a Fuhrman-style meal).

Fuhrman’s framework, applied strictly, produces a diet structurally unable to hit iron targets for active men without supplementation. He acknowledges this. His protocol recommends iron supplementation if needed — alongside B12, omega-3, zinc, and iodine. Those are precisely the nutrients that a CRON protocol obtains from food: heme iron from red meat and shellfish, B12 from chicken liver and nutritional yeast, zinc from oysters and mussels, iodine from dulse.

The supplement list for a nutritarian diet is not incidental. It is the diet compensating for what its food choices cannot deliver.

Where CRON and Fuhrman Agree

The overlap is substantial, and worth stating directly.

Both frameworks operate on calorie restriction. Both reject processed food, refined sugar, and calorie-dense food with poor micronutrient payloads. Both track micronutrients with unusual precision — neither settles for “eat vegetables” as a complete instruction. Both are grounded in peer-reviewed research rather than influencer consensus.

Fuhrman’s critique of standard American medicine — that most chronic disease is dietary in origin and that food is the primary intervention — aligns closely with the philosophy behind this protocol. His resistance to supplement-first thinking (ironic, given his own supplement line) and his insistence on food quality over calorie counting reflect the same intellectual position as CRON.

The frameworks share a target. They disagree on the path.

Where They Diverge

The divergence is on three specific points:

Animal protein. CRON uses animal protein as the primary iron, zinc, B12, and omega-3 delivery mechanism. Fuhrman limits animal products and views plant-based eating as the longevity-optimal approach. The bioavailability data on minerals and the heme/non-heme iron absorption data do not support the claim that a predominantly plant-based diet can reliably cover these nutrients from food alone — which is why his own supplement protocol covers them.

Oxalate load. ANDI scores nutrients in food without adjusting for absorption losses from anti-nutrient interference. High-scoring foods like spinach, Swiss chard, and beets carry oxalate loads that meaningfully reduce bioavailable calcium and magnesium. CRON eliminates these foods and replaces them with low-oxalate alternatives that deliver equivalent or superior absorbed micronutrients.

Supplement dependence as a design signal. If a dietary framework requires specific supplementation to cover B12, omega-3, zinc, and iodine, those are not optional additions — they are structural requirements. CRON treats supplement dependence as a design failure. If the food choices cannot cover the micronutrient targets, the food choices need revision. The CRON framework is built around foods that cover all tracked micronutrients without supplementation, which is the correct engineering constraint.

The Methodological Gap

Fuhrman identified the right optimization target in 2003. Nutrients per calorie. That formulation was correct, and it preceded most mainstream recognition of the concept.

The ANDI score operationalizes that target with a specific blind spot: it measures what is present in food, not what the body receives from food. For most foods in most dietary contexts, that distinction is minor. For high-oxalate greens at the top of the ANDI ranking — the exact foods the framework most promotes — the distinction is 76.7% of the calcium being unavailable, magnesium absorption falling by a third, and iron delivery dropping below 2%.

A scoring system that ranks foods by nutrient density and sends people toward foods that actively block mineral absorption is not fully solving the problem it set out to solve.

The fix is not to abandon nutrient density scoring. It is to score absorbed nutrients, not present nutrients. CRON makes that adjustment by eliminating high-oxalate foods, sourcing iron from heme sources, and selecting protein by what it delivers to the bloodstream rather than what appears on the label.

Fuhrman got the equation right. The variable he needs to update is the denominator.


More on why specific foods were removed from this protocol: Why We Dropped Spinach.

The full oxalate research: Low-Oxalate Eating: What the Research Shows.

The CRON nutritional framework: The Walford CRON Nutrition Philosophy.

What CRON eats instead: What Is CRON Food?

Protein sources selected for absorption, not just macros: Alternative Proteins for Longevity.

$49 The 30-Day Cast Iron Meal Plan

30 days of CRON-optimized meals built around cast iron batch cooking. Every recipe, macro target, and shopping list — done for you.

Buy Now — $49

Updated April 2026 · Instant PDF download · One-time purchase, no subscription.