Why satiety varies across identical calorie amounts
The satiety index measures how long a food keeps you full relative to a baseline (white bread at 100). Boiled potatoes score around 323, making them roughly three times more satiating per calorie than white bread. Whole grains score 100-150, fish 200+, and beef around 176, while croissants score only 47 because their fat and low fiber content trigger less fullness signaling.
Protein is the most satiating macronutrient per calorie, followed by fiber and water content. Boiled potatoes score high because they are mostly water and resistant starch, which signals fullness powerfully. Protein-rich foods like eggs and fish trigger sustained satiety hormones like peptide YY and GLP-1.
Practical meal building for sustained fullness
High-satiety foods are typically whole, unprocessed, and high in either protein, fiber, or water. Beans and lentils combine all three, scoring around 300. Refined snacks (crackers, pastries, sweets) score below 100 because their processing removes water and fiber while adding concentrated calories.
Eating a filling meal doesn't require high calories. A bowl of vegetable soup (broth plus fiber) with added chicken satiate far longer than a pastry of equivalent calories because satiety depends on volume, water content, and nutrient density, not just energy. This is why weight-loss diets emphasizing whole foods feel less restrictive than calorie-matched processed diets.