Main · Fall · Winter · Intermediate
Saffron Risotto alla Milanese with Bone Marrow
with Carnaroli, White Wine, Roasted Marrow & Gremolata
Gold Carnaroli that ripples in slow waves, its cream beaten through with marrow and parmesan, crowned with a soft scoop of roasted marrow and a sharp scatter of lemon gremolata.
Per serving ≈ 612 cal · 15g protein · 32g fat · 66g carbs
This is the golden risotto that traditionally cradles osso buco in Milan, pulled to the center of the plate and given the marrow bones it usually only borrows. We first made it on a January night when the only things in the cabin worth cooking were a bag of Carnaroli, a butcher's parcel of canoe-cut shins, and a tin of saffron someone had carried back from a trip through La Mancha. Stirring it is the whole evening — twenty minutes at the stove with a glass of the same white that goes into the pot — and the payoff is a spoonful that moves in slow waves and tastes of marrow, wine, and gold.
Cooking around dairy, gluten, wine, meat…? tap to adjust
The Tools
- Rimmed sheet pan + foil (roasting marrow)
- Small saucepan (stock)
- Small bowl (saffron bloom)
- Wide heavy-bottomed saucepan or rondeau (risotto) — Wide and shallow cooks the rice more evenly than a tall narrow pot
- Wooden spoon or flat-edged spatula
- Ladle
- Microplane (parmesan + lemon zest)
- Chef's knife + cutting board
- Small spoon (scooping marrow)
- Instant-read thermometer (optional) — Optional — for holding the stock hot and reading the marrow
✚ ends up in the sink · essentials unless marked optional
Roasted Bone Marrow
Why this works Marrow is roughly 85% fat with a mineral, beefy sweetness — closer to a butter than a meat. At 450°F it renders soft and just-set in about 15 minutes; a few minutes past that and it liquefies and pours out of the bone into the pan, and you lose the whole point. Canoe-cut bones (split lengthwise) expose the marrow for even heat and easy scooping. The optional cold-water soak leaches out blood so the cooked marrow reads ivory instead of gray — cosmetic, but it's the difference between rustic and refined.
- 4 center-cut bones (~2 lb / 900 g), split lengthwise Beef or veal marrow bones, canoe-cut 900 g — Ask the butcher to canoe-cut them; center-cut shin gives far more marrow than knuckle ends.
- for the soak (1 tbsp per qt) and for seasoning Kosher salt
-
Soak (optional but worth it) 3 min hands-on · 2 h wait
Submerge the bones in salted ice water, refrigerate 2–24 h, changing the water once or twice.
Look for The water runs pink then nearly clear; the marrow pales from red-brown toward ivory.
-
Heat and season 3 min hands-on
Heat the oven to 450°F (230°C). Stand the bones cut-side up on a foil-lined sheet pan; pat the marrow dry and season the exposed surface with salt.
-
Roast to soft, not molten 1 min hands-on · 18 min wait
Roast 15–20 min until the marrow is glossy, soft, and just pulling from the bone.
Look for Marrow slumps and shines and a skewer slides in with no resistance; edges bubble but the center still holds a soft shape.
Take care Past 20 min it goes molten and pours out into the pan — pull it while it still holds shape. -
Scoop and divide 3 min hands-on
Scoop the warm marrow out with a small spoon. Chop half roughly for the soffritto; keep the other half warm for finishing.
When it goes wrong
| Problem | Cause | Fix |
|---|---|---|
| Marrow melted out into the pan | Over-roasted | No rescue for that batch; next time pull at 15 min, when it wobbles rather than pours |
| Metallic, bloody edge | Skipped soak or old bones | Soak longer and colder next time; buy fresh from a butcher, not shrink-wrap |
| Gray, not ivory | Unbled or oxidized marrow | A longer cold soak brightens it; cosmetic only — it's still good to eat |
Saffron Stock
Why this works Saffron's color and aroma (crocin and safranal) are water-soluble, so blooming the threads in a little warm stock for 15–20 minutes pulls far more out of them than crumbling them dry into the pot. The main stock rides at a bare simmer beside the risotto the whole time: cold stock hitting the pan drops the temperature, stalls the cook, and turns the rice gluey — every ladle has to go in hot. Use low-sodium stock because risotto concentrates as it reduces, and a salty stock leaves you no room to season at the end.
- 6 cups (1.4 L), ideally homemade Veal or beef stock, low-sodium 1400 g — Homemade veal stock is the ceiling here; a good low-sodium boxed beef stock is the floor. Low-sodium is load-bearing.
- generous pinch (~0.3 g, ~40 threads) Saffron threads — Whole threads, deep red with orange tips — powder is often cut
-
Bloom the saffron 3 min hands-on · 18 min wait
Bring the stock to a bare simmer. Ladle 1/2 cup into a small bowl, crumble in the saffron, and steep 15–20 min.
Look for The bloom turns deep orange-red and smells of honey and dried hay; the threads bleed their color into the liquid.
-
Hold it hot 1 min hands-on
Keep the rest of the stock at a bare simmer beside the risotto pan the entire time you cook.
Take care Cold stock added to the rice stalls the cook and turns it gluey — the stock must go in hot.
When it goes wrong
| Problem | Cause | Fix |
|---|---|---|
| Pale, weak color | Threads dumped in dry | Bloom them first; heat plus time is what extracts the crocin |
| Stock too salty by the end | Reduced too hard, or wasn't low-sodium | Keep it at a bare shiver and start with low-sodium; loosen with a little water if it tightens |
| Risotto turns gummy | Stock cooled between additions | Hold the pot at a simmer right next to the pan |
The Risotto
Why this works Carnaroli is the king of risotto rice: higher amylose and a firmer starch skeleton than Arborio, so it sheds creamy amylopectin from its surface while the core stays al dente, and it forgives a couple of extra minutes without collapsing. Never rinse it — the surface starch is the sauce. Tostatura (toasting the raw grains in fat until the edges turn glassy and they smell of toasted bread) drives off surface moisture and firms the grain's starchy exterior in the hot fat, so each grain hydrates slowly and evenly instead of splitting into mush — and it lays a toasted-bread base note under the saffron. Adding hot stock one ladle at a time with near-constant stirring abrades the grains, coaxing starch into the liquid — that's where the wave-like creaminess comes from, not from flooding the pan. Mantecatura is done off the heat: beating in cold butter and parmesan emulsifies the fat into the starch for gloss and body, and keeping it off the flame stops the cheese from seizing into greasy strings.
- 1 1/2 cups (320 g) Carnaroli rice 320 g — Do NOT rinse — you want the surface starch. Arborio works but goes soft faster; Vialone Nano is the other good option.
- 1/2 small, minced very fine (~70 g) Yellow onion 70 g
- 60 g (about 4 tbsp), cold, divided Unsalted butter 60 g — 1 tbsp for the soffritto, the rest kept cold for the mantecatura
- half the roasted marrow, chopped (~35 g) Reserved soffritto marrow — From the Roasted Bone Marrow, above
- 1/2 cup (120 ml) Dry white wine 120 g — A crisp Italian white — Soave, Pinot Bianco, or a dry Verdicchio; skip oaky wines
- ~5 cups (1.2 L) total, hot Hot saffron bloom + hot stock — From the Saffron Stock, above — bloom goes in first, then plain stock ladle by ladle
- 60 g (about 3/4 cup), finely grated Parmigiano-Reggiano 60 g — Grate it yourself on a microplane; pre-grated is coated and won't melt clean
- to taste, at the end Kosher salt — The stock is low-sodium — do the real seasoning here
-
Soffritto 6 min hands-on
Melt 1 tbsp butter with the chopped marrow in the wide pan over medium-low. Add the onion and a pinch of salt; sweat 5–6 min until soft, no color.
Look for Onion goes glassy and smells sweet, not browned; the marrow melts into the fat.
Take care Any color on the onion muddies the clean saffron flavor — keep the heat low. -
Tostatura 3 min hands-on
Add the Carnaroli. Stir to coat every grain in fat and toast 2–3 min.
Look for Grain edges turn translucent while the centers stay chalk-white; the rice smells faintly of toasted bread.
Take care Don't let it brown — you're toasting for translucency, not color. -
Deglaze with wine 3 min hands-on
Pour in the wine. Stir until it's almost fully absorbed and the sharp alcohol smell is gone, ~2 min.
Look for The pan goes from steaming and sharp-smelling to nearly dry, the rice wet-looking but not soupy.
-
First saffron 2 min hands-on
Stir in the saffron bloom with a ladle of hot stock. It should simmer, not boil.
Look for The rice flushes gold instantly; the liquid bubbles lazily around the grains.
-
Stock, ladle by ladle 18 min hands-on
Add hot stock one ladle at a time, stirring often, each addition nearly absorbed before the next. Keep a lively simmer ~16–18 min.
Look for Drag the spoon across the pan floor and the trail fills back slowly; the mass loosens and gleams as starch builds.
Take care Too little stirring cooks it unevenly — mushy outside, raw core; too much heat or too much stock at once boils it instead of coaxing. The cream comes from the grains, not from flooding them. -
Check doneness 2 min hands-on
Start tasting at 16 min. Ready when the grains are tender with a faint firm core. Adjust salt now — taste for a savory, seasoned base with the saffron and marrow forward, not flat.
Look for A grain bitten in half shows a pinpoint of white at the center — no chalky band.
-
Loosen and rest 1 min hands-on · 1 min wait
Add a final ladle so it's loose and fluid, pull the pan off the heat, and let it settle 30 seconds.
-
Mantecatura (off heat) 3 min hands-on
Off the heat, beat in the cold butter in two additions, then the parmesan, working the spoon hard until glossy. Fold in the reserved warm marrow.
Look for The risotto turns from grainy to satiny and pulls together into a slow-moving cream.
Take care Beat the cheese in over the flame and it seizes into greasy strings — the mantecatura happens off the heat. -
All'onda check 1 min hands-on
Spoon onto a warm plate and tap it: it should spread in a slow wave and settle flat, not hold a stiff mound. Loosen with a splash of hot stock if it's tight.
Look for The risotto ripples outward — all'onda, 'like a wave' — and lies in a loose pool.
When it goes wrong
| Problem | Cause | Fix |
|---|---|---|
| Stiff, gluey mound on the plate | Over-reduced or under-loosened | Off heat, beat in more hot stock a splash at a time; finish it looser than looks right — it sets as it cools |
| Soupy and thin | Too much stock too fast, not enough absorption between ladles | Let the last additions cook down before serving; wait for the spoon-trail each time |
| Crunchy core after 20 min | Heat too low or stock went in cold | Raise to a lively simmer with hot stock; Carnaroli forgives a couple extra minutes |
Gremolata
Why this works The Milanese answer to richness: a raw mince of lemon zest and parsley (garlic optional) scattered at the very end. It is the acid-and-bitter relief valve the dish is built around — every rich spoonful of marrow and cheese gets reset by the sharp citrus oil in the zest. Made raw and last so the volatile lemon oils are still loud on the plate; make it early and it dulls to damp confetti.
- finely grated zest of 1 lemon Lemon zest — Unwaxed/organic; colored skin only, none of the white pith
- 1/4 cup, minced fine Flat-leaf parsley
- 1 tiny clove, microplaned — optional Garlic
- a pinch, for finishing Flaky salt
-
Chop and toss 5 min hands-on
Grate the zest, mince the parsley, microplane the garlic if using. Toss together just before serving.
Look for A loose, bright-green rubble that smells sharply of lemon and parsley.
When it goes wrong
| Problem | Cause | Fix |
|---|---|---|
| Bitter | Grated into the white pith | Zest only the colored skin, turning the lemon as you go |
| Harsh raw-garlic bite | Too much garlic | A microplaned sliver is plenty — or leave it out; the lemon carries it |
To the Table
Warm shallow bowls in a 200°F oven for 5 min.
Spoon a loose pool of risotto into each bowl and tap the base so it settles all'onda — flat, gently rippled, not mounded.
Set a scoop of the reserved roasted marrow in the center; stand a roasted bone alongside if you're serving them at the table.
Scatter gremolata over the marrow and a few grains of flaky salt.
Optional extra parmesan shaved over the top — skip it on the dairy-free and kosher-style plates. Serve immediately, while it still moves.
For the Cook Who Wants More
The Honest Ledger
| Serves | 4 |
|---|---|
| Shopping | 55 min |
| Hands-on (new to this) | 1 h 33 min |
| Hands-on (comfortable) | 1 h 13 min |
| Hands-on (experienced) | 58 min |
| Waiting (same for everyone) | 2 h 37 min |
| True total | 4 h 30 min |
| You will dirty | 9 dishes |
Rich by design — the fat is marrow, butter, and aged parmesan — with the gremolata (raw lemon zest and parsley) built in as the acid relief valve. Gluten-free as written IF the stock is (use homemade or a certified-GF low-sodium stock; some boxed stocks carry gluten). Macros are gram-math estimates: 320g Carnaroli, 60g Parmigiano-Reggiano, 60g butter, ~70g roasted marrow eaten, ~5 cups absorbed low-sodium veal/beef stock, 120ml wine with the alcohol cooked off, over 4 servings, at 4/4/9 cal per g protein/carb/fat. For the dairy-free and kosher-style plate the butter and parmesan take their swaps so no dairy meets the marrow.
Words We Used
- Tostatura
- Toasting the raw rice in fat before any liquid goes in — dries and firms the grain's starchy exterior so it hydrates slowly and evenly, and lays down a toasted aroma.
- Mantecatura
- The off-heat finish: beating cold butter and grated cheese into the cooked risotto for gloss and cream. Never done over the flame.
- All'onda
- 'Like a wave' — risotto loose enough to ripple and spread flat on the plate rather than hold a stiff mound.
- Soffritto
- The gently sweated aromatic base — here onion softened in marrow and butter — that opens the dish.
- Gremolata
- A raw mince of lemon zest, parsley, and garlic; the bright, bitter garnish of Milanese cooking, added at the last second.
- Canoe-cut
- Marrow bones split lengthwise to expose the marrow for even roasting and easy scooping.
- Bloom (saffron)
- Steeping saffron threads in warm liquid to draw out their color and aroma before they go into the dish.