Stocks & broths
Brown Veal Stock
Fond de veau brun · A deeply colored, full-bodied, gelatin-rich stock made by roasting veal bones until caramelized, then simmering them with browned mirepoix and tomato paste in water for several hours. The gold standard of brown stocks, prized for its nutty depth, subtle sweetness, and ability to carry and amplify rich meat-based sauces. Intentionally unsalted — a building block, not a finished product.

The formula
1 kg bones : 200 g mirepoix : 3 L water
Yield ~3 L finished stock. Scale bones and mirepoix proportionally; water covers bones by ~2–3 cm. Mirepoix ratio: 50% onion, 25% carrot, 25% celery by weight.
Identity
- Bones caramelized to deep mahogany, not merely golden — Maillard products are non-negotiable
- Tomato paste integrated into the roasting step, not added raw
- Blanched, scrubbed bones before roasting — a clean, clear result depends on this
- Simmered 4–6 hours, never boiled — agitation clouds the liquid
- Jells firmly when refrigerated from extracted collagen — this is the hallmark of quality
- No salt added — the building block must be seasoning-neutral
Ingredients
| Base | Veal bones (knuckle, marrow, neck, shank) | Ask the butcher to saw into 5–8 cm pieces for better exposure. 1 kg yields ~3 L finished stock. |
| Fat | Neutral fat (butter or vegetable oil) | Roasting fat — 20–30 g per 1 kg bones. Butter adds a faint sweetness preferred in classical French cooking. |
| Liquid | Cold water | Covers bones by ~2–3 cm. Cold start prevents proteins from seizing and extracting bitterness. |
| Aromatics | Tomato paste | 50–80 g per 1 kg bones. Mixed into the bones during the final 20–30 min of roasting for deep color and umami. |
| Aromatics | Mirepoix (50% onion, 25% carrot, 25% celery) | 200 g per 1 kg bones. Browned alongside the bones in the roasting step, not added raw to the pot. |
| Aromatics | Bouquet garni (bay, thyme, parsley stems) | Added to the pot after roasting. Standard French: 1 bay leaf, 3–4 sprigs thyme, 4–6 parsley stems per 3 L. |
| Seasoning | Black peppercorns | 5–8 whole peppercorns per 3 L. Added with bouquet garni. Supports aromatics without seasoning the stock. |
| Seasoning | Kosher salt | None. Classical brown stocks are entirely salt-free. |
Method
- 1Blanch the raw bones: cover with cold water, bring to a rolling boil, drain, and rinse the bones thoroughly under cold water.Boiling expels blood, albumin, and impurities that would cloud the finished stock and introduce off-flavors. Skipping this step is the single most common cause of murky stock.
- 2Roast blanched bones at 200–220 °C (400–425 °F) for 60–90 minutes, turning once or twice. In the final 20 minutes, mix tomato paste into the bones and add mirepoix to the pan.High-temperature dry heat drives Maillard browning — the caramelized proteins and sugars that give the stock its nutty depth and mahogany color. Tomato paste adds insoluble melanoidins and umami compounds that deepen the brown without acidity.
- 3Transfer roasted bones and browned mirepoix to a stockpot. Deglaze the roasting pan with 2–3 cups of cold water, scraping up all the caramelized bits (fond). Add this to the pot along with remaining cold water (to cover bones by 2–3 cm), bouquet garni, and peppercorns.Dissolving the fond immediately while the pan is hot captures every particle of flavor before it dries out. Cold water start keeps proteins in the bones longer, yielding a cleaner extraction.
- 4Bring to a gentle simmer over medium heat, skimming foam and fat continuously for the first 15–20 minutes. Reduce to lowest possible heat — just a few bubbles breaking the surface. Maintain this barely-there simmer, partially covered, for 4–6 hours.A true simmer, not a boil, extracts gelatin and flavor slowly without emulsifying fat into the liquid or clouding the stock with agitation. Partial covering allows slow evaporation and concentration.
- 5Strain through a fine-mesh sieve lined with damp cheesecloth. Do not press the solids. Cool to room temperature within 1 hour, then refrigerate uncovered (to prevent condensation dilution) until firmly set.Pressing squeezes out starches and bitter compounds trapped in the cartilage. Uncovered cooling prevents water droplets from diluting the gelatin. A properly made stock jells completely when chilled.
Techniques that matter
Maillard browning
The caramelization of proteins and sugars on the bone surface during roasting at 180–220 °C produces hundreds of flavor compounds (pyrazines, furans, thiophenes) that are water-soluble and transfer to the stock — giving it the characteristic nutty depth of a true brown stock versus the bland neutrality of a white stock.
Collagen hydrolysis
Prolonged gentle simmering (4–6 hours at ~85–90 °C) converts collagen in cartilage and tendon into gelatin — the protein that makes the stock jell and gives sauces body and mouthfeel. Insufficient time yields a thin, flat liquid; over-high heat clouds it.
Deglazing
The fond (browned bits) left in the roasting pan is concentrated flavor. Adding cold liquid and immediate scraping dissolves these Maillard products into the stock, maximizing the use of every bit of flavor built in the oven.
Blanching and skimming
The initial blanching denatures albumin proteins, which coagulate and rise as foam, carrying away blood and impurities. Continuous early skimming removes residual albumin and fat before they emulsify into the liquid.
Fat emulsion prevention
Boiling, agitation, or adding acidic ingredients during cooking emulsifies fat droplets into the stock, making it cloudy and greasy. A gentle simmer and resting the stock undisturbed while hot prevents this.
Variations & derivatives
White Veal Stock (Fond blanc de veau)Classical French
Identical bones and aromatics but without roasting — bones are blanched, simmered immediately with raw mirepoix, no tomato paste. Lighter flavor, pale color. Used for lighter soups and veloutés.
Poultry Stock (light or brown)Universal
Chicken or turkey bones substituted for veal. White: blanch, simmer with raw mirepoix. Brown: roast bones first, then simmer. Lighter gelatin, more accessible flavor. Brown chicken stock is the closest everyday substitute.
Brown Beef StockClassical French
Beef bones instead of veal. Deeper, earthier, more iron-forward flavor. Classic base for Bordelaise sauce and other beef-centric preparations. Slightly less delicate than veal.
Glace de ViandeClassical French
Brown veal or beef stock reduced by 75–80% until syrupy. Extremely concentrated gelatin and flavor. Used as a finishing glaze or deglazing agent. A little dot goes a long way.
Used in these dishes
Substitutions
- Brown Veal Stock → Brown Chicken Stock — Chicken has less collagen than veal, so the result is lighter in body and flavor. Use 1.5× concentration (reduce chicken stock by 15% extra) and add a splash of cream to approximate the richness. Acceptable in a pinch.changes result
- Brown Veal Stock → Brown Beef Stock — Beef bones are heavier and earthier; the flavor profile shifts noticeably toward iron and umami. Use for beef-based preparations where veal's delicacy would be lost. Not interchangeable in classical white-wine sauce bases.changes result
- Brown Veal Stock → Vegetable stock + caramelized onions + porcini — No animal collagen means no jelling and no meat depth. Adding deeply caramelized onions and rehydrated porcini mimics some of the umami and sweetness, but the structural body of the stock is absent. Only suitable for vegetarian-adjacent preparations.changes result
Troubleshooting
Stock is cloudy or murky
Insufficient blanching, boiling rather than simmering, or agitation during cooking. Fat emulsified into the liquid from agitation or acidity. → Restraining through cheesecloth improves clarity slightly. Prevent recurrence: blanch bones 10 minutes, maintain 85–90 °C simmer, never boil. Fat droplets require decanting the clear liquid from beneath the fat layer.
Stock does not gel when refrigerated
Too few collagen-rich bones (knuckle, shank, neck were absent), insufficient cooking time, or bones were over-roasted past the point of flavor extraction. → Add roasted veal knuckles or feet to the next batch. Simmer 1–2 hours longer. Properly extracted gelatin should give a firm jelly within 6 hours of refrigeration.
Stock tastes bitter or acrid
Bones were roasted at too high a temperature (>250 °C) for too long, charring rather than caramelizing. Bitter compounds (polycyclic aromatic hydrocarbons) are not removable. → Reduce oven temperature to 200–220 °C. Roast bones in a single layer with space between pieces. Discard the stock — bitterness cannot be corrected, only masked, and masking destroys the purpose of a clean foundation.
Stock tastes flat or thin despite long cooking
Using primarily meaty bones (marrow) instead of collagen-rich cuts. Water was added hot rather than cold, causing rapid extraction of bitterness before gelatin could be released. → Seek bones with visible cartilage and tendon (knuckle, shank, neck). Target 60% meaty bones, 40% knuckle and joint bones. Use cold water start and simmer 4–6 hours minimum.