Stocks & broths
caldo
caldo · A clear, flavorful liquid obtained by gently simmering meat, poultry, or fish with aromatics in water. Unlike brown stocks made with roasted bones for body, caldo prioritizes extraction of soluble proteins and clean flavor into a light, pure broth used directly as a soup or as a cooking medium. The Latin root calere means to be warm, emphasizing its identity as a heated foundation.

The formula
1 kg bones/meat : 1.5–2 L water
Scale: 1 kg bones/meat → 1.5–2 L finished caldo. Mirepoix at 5–10% of protein weight (50–100 g per kg). Simmer 2–4 h poultry, 3–6 h beef. Yields approximately 80–90% of liquid input as finished broth.
Identity
- Never boils — a trembling simmer (82–90°C) extracts clean flavor without cloudiness
- Always strained through fine cloth or mesh for perfect clarity
- Seasoned only at service, never during cooking (salt concentrates and inhibits collagen extraction)
- Uses cold start: bones in cold water brought up slowly to dissolve albumins and pull impurities to surface
- Aromatics added after initial skimming to prevent bitter essential oils from over-extracting
Ingredients
| Base | meat on the bone, poultry carcasses, or fish bones/heads | Bones with cartilage and connective tissue yield gelatin; meat adds savory amino acids (umami) |
| Liquid | cold water | Covers ingredients by 2–3 cm. Cold start dissolves proteins and pulls impurities outward during the rise to temperature |
| Aromatics | mirepoix (onion, carrot, celery) | 5–10% of protein weight. Onion is non-negotiable; carrot and celery are traditional but optional in some traditions |
| Aromatics | bay leaf, thyme, parsley stems | Bouquet garni. Added after initial skimming to prevent bitter over-extraction of essential oils |
| Seasoning | salt | Added only at service or when reducing to a concentrate, never during cooking |
| Acid | splash of cider vinegar (optional) | A tablespoon per liter helps acidify bone surfaces, extracting minerals and gelatin more efficiently |
Method
- 1Rinse bones and meat under cold water to remove loose blood and debrisReduces initial impurities and cloudiness; visual cleanliness matters
- 2Place protein in a pot, cover generously with cold water (2–3 cm above ingredients)Cold water start allows proteins and impurities to dissolve and migrate outward as temperature rises, making skimming effective
- 3Bring slowly to a bare simmer over medium-low heat, skimming constantly as foam rises (30–45 min)Albumin proteins coagulate and rise with impurities at 60–80°C. Constant skimming during this phase is the single most important step for clarity
- 4Add aromatics (mirepoix, bouquet garni) after the initial foam subsides, maintaining a gentle, trembling simmerAromatics added too early yield bitter, harsh essential oils. A true simmer (not a boil) extracts clean, rounded flavor without clouding
- 5Simmer for 2–4 hours (poultry) or 3–6 hours (beef/veal), skimming occasionally, until flavor is developedExtended gentle heat solubilizes collagen into gelatin, extracts savory nucleotides from meat, and creates a flavorful, body-rich broth
- 6Strain through a fine-mesh strainer lined with cheesecloth, pressing solids gentlyRemoves all particulate matter for a clear, professional result. Pressing too hard releases bound water and clouds the broth
- 7Season with salt only at service or when reducing to a concentrateSalt added during cooking concentrates as liquid reduces and inhibits complete extraction of gelatin and flavor compounds
Techniques that matter
Low-and-slow simmering
Boiling agitates fat droplets into suspension, clouding the broth and making it taste greasy. A trembling simmer (82–90°C) extracts cleanly while maintaining clarity.
Skimming and clarification
The initial foam carries blood, proteins, and impurities. Meticulous skimming in the first 30–45 minutes is the difference between a murky, bitter broth and a crystal-clear caldo.
Cold-start extraction
Starting in cold water and heating gradually maximizes protein solubility and impurity removal — hot-start method produces cloudy, less flavorful results.
Variations & derivatives
caldo de polloMexico, Central America
Chicken with whole vegetables (corn, zucchini, chayote) served in the broth. The cooked chicken is often shredded and served separately or returned to the bowl.
caldo de resMexico
Hearty beef-based caldo with large-dice tomatoes, green beans, cabbage, and potatoes. Heart and shank are traditional cuts for gelatin content.
brodo di polloItaly
Lighter than French stock; often served as a restorative soup with pastina or as a primer for risotto. Sometimes enriched with a parmesan rind during simmering.
consomméFrance, classical
A clarified, intensely flavored caldo achieved by adding a clarification raft (egg whites, ground meat, mirepoix) that acts as a filter, removing cloudiness and concentrating flavor.
pozole blancoMexico
Caldo made from pork hocks and trotters simmered 4–6 hours with garlic, onion, and oregano. The collagen-rich liquid becomes the base for pozole blanco.
fish fumetMediterranean, classical
A white fish caldo made from bones and heads (no dark-fleshed fish) with white wine, mushroom trimmings, and light mirepoix. Simmered only 30–45 minutes.
Used in these dishes
Substitutions
- fresh bones/meat → pre-roasted bones — Yields a darker, more flavorful broth (brown stock). Not traditional blanco caldo but acceptable for darker applications. Roast at 200°C for 30–40 min before simmering.
- veal or beef → chicken — Chicken yields a lighter, sweeter flavor. Beef yields darker, more savory. Use what suits the final dish.
- mirepoix → aromatic vegetables (leek, fennel, celery root) — Traditional variations exist. Leek (white part only) and fennel are classic in Mediterranean caldo. Avoid brassicas (cabbage, broccoli) which yield sulfur compounds.changes result
- beef/pork bones → store-bought stock concentrate — Reconstitute to 1:5–6 ratio. Acceptable in kitchens without time to make fresh, but lacks the clean, direct flavor of proper homemade caldo.
Troubleshooting
Broth is cloudy and murky
Boiled during cooking, causing fat and protein emulsification; or insufficient initial skimming → Strain through a coffee-filter-lined strainer for one hour. For future batches, maintain a bare simmer (82–90°C) and skim thoroughly for the first 30 minutes.
Broth tastes flat, fatty, or lacks depth
Bones or meat were not fresh enough; too much water relative to protein; or aromatics were omitted → Reduce the finished broth by one-third to concentrate flavor. Add a splash of fish sauce or soy sauce for umami. For future batches, use 1:1.5 protein-to-water ratio and include onion and bay.
Broth is bitter or harsh
Aromatics (especially onion skins, garlic, or herbs) over-extracted; or the pot was scraped the bottom during cooking → Strain immediately and discard bitter aromatics. Add a small piece of butter or a teaspoon of cream to round the bitterness. Future: remove strong aromatics after 30–45 minutes of simmering.
No gelatinous body when chilled
Not enough collagen-rich cuts (feet, knuckles, skin); or simmering too hot, breaking down gelatin → Add 500 g of chicken feet or pork trotters per 2 L and simmer 6+ hours. Reduce liquid by half to concentrate gelatin. The broth should gel firmly when chilled.