Risotto alla Milanese (Classic Saffron Risotto)
A luxuriously creamy saffron risotto from Milan — glossy, golden and comforting. Uses Carnaroli rice, hot meat stock and a saffron infusion, finished with butter and Parmigiano for that iconic, silky finish.
This is the risotto that put Milan on the culinary map: Risotto alla Milanese, gloriously golden thanks to saffron and finished with butter and Parmesan for a mirror-like sheen. It’s deceptively simple — and demands attention — but rewards you with a bowl of pure, velvety comfort.
Make it for a cosy dinner, an impressive starter for guests, or whenever you fancy something indulgent without too much fuss. Use good stock and proper risotto rice and the dish will sing; shortcut either and it’ll sulk in the corner.
Traditionalists sometimes add beef bone marrow or a rich veal stock — I include those options so you can choose proper authenticity or a vegetarian tweak.
Ingredients
- 320 g Carnaroli rice (or Vialone Nano / Arborio)
- 1.4 l hot beef or veal stock — keep on a very low simmer; use vegetable stock to make vegetarian (see substitutions)
- 0 g saffron threads — about 15–20 threads; soak in warm stock
- 100 ml dry white wine
- 70 g unsalted butter — divided — 40 g for cooking, 30 g for finishing (mantecatura)
- 15 ml extra-virgin olive oil
- 1 small yellow onion — about 60 g, finely diced
- 60 g Parmigiano-Reggiano — finely grated
- sea salt — to taste (remember stock and Parmesan are salty)
- freshly ground black pepper — to taste
- 30 g beef bone marrow — optional — removed from bone and finely chopped or sliced; adds extra richness (traditional but optional)
Equipment
- wide heavy-bottomed sauté pan (about 28–30 cm)
- small saucepan for stock
- ladle
- wooden spoon or silicone spatula
- fine grater for Parmesan
- small heatproof bowl (for saffron infusion)
Instructions
Warm the stock in a small saucepan and keep it at a gentle simmer. Place about 60 ml of the hot stock in a small heatproof bowl and crumble in the saffron threads; let steep for 10 minutes to release colour and aroma.
Finely dice the onion. If using bone marrow, remove from the bone and chop. Have your butter and grated Parmesan measured and handy.
In a wide, heavy-bottomed sauté pan over medium heat, add the olive oil and 40 g of the butter. If using marrow, add it now and let it gently melt into the fats. Add the diced onion and sweat gently until translucent and soft, about 6–8 minutes — do not let it brown.
Add the rice to the pan and toast, stirring constantly, for 2–3 minutes. The grains should become glossy and the edges slightly translucent but not coloured.
Pour in the white wine and stir until it has mostly evaporated — about 1–2 minutes.
Add the saffron-infused stock (including the threads) to the rice — about 120–150 ml — and stir until absorbed. Then, begin adding the remaining hot stock ladle by ladle (about 90–120 ml per addition), stirring frequently and allowing the rice to absorb the liquid before adding more. Continue for 18–20 minutes total from the first stock addition, until the rice is al dente with a creamy, slightly fluid sauce.
When the rice is cooked to al dente and the texture is creamy but not soupy, remove the pan from the heat. Immediately add the remaining 30 g butter and all the grated Parmesan. Stir vigorously (mantecatura) for 1–2 minutes to emulsify into a glossy sauce. Taste and season with salt and freshly ground black pepper.
Cover the pan for 1–2 minutes, then serve immediately on warmed plates. Garnish with a little extra grated Parmesan and a crack of black pepper. If you used marrow, add a small piece on top for presentation.
Tips
- Keep the stock on a very low simmer in a separate pan; adding cold stock slows the rice and can break the cooking rhythm.
- Don’t rinse the rice — you want the surface starch to create the creaminess. Rinsing produces a firmer, less creamy risotto.
- Toast the rice until the edges look translucent — that’s the point where it will cook through without turning mushy.
- When you finish (mantecatura), stir vigorously off the heat with cold butter and cheese to emulsify for a glossy finish; if it looks too thick, loosen with a splash of hot stock.
- Make-ahead: you can keep cooked risotto warm (covered) for up to 20 minutes. To revive leftovers, add a splash of hot stock and stir over low heat — texture will be slightly different.
Substitutions
beef or veal stock → good vegetable stock, kept hot
Stays closeCarnaroli rice → Arborio rice (same quantity)
Stays closesaffron → a small pinch of turmeric for colour only (no saffron flavour)
Noticeably differentParmigiano-Reggiano → Pecorino Romano (slightly saltier, tangier)
Noticeably different
Nutrition
Per serving · estimated
- 620
- Calories
- 12 g
- Protein
- 68 g
- Carbs
- 25 g
- Fat
- 2 g
- Fibre
- 3 g
- Sugar
- 850 mg
- Sodium
FAQ
Why is my risotto gluey?
Gluey risotto usually means the rice was over-stirred or the wrong rice was used. Use Carnaroli/Vialone Nano/Arborio and stir frequently but not frantically; overworking releases too much starch. Also avoid adding too much liquid at once.
Can I make risotto ahead of time?
Not well — risotto is best served immediately. You can make it up to 20 minutes ahead and keep it covered on very low heat, or refrigerate leftovers and revive with hot stock (texture will be different).
Can I omit the wine?
Yes — replace the wine with an equal amount of hot stock plus a teaspoon of white wine vinegar or lemon juice for brightness. The wine adds acidity and depth, so flavour will be slightly flatter without it.
How do I know the rice is done?
Taste a grain: it should be tender to the bite but have a slight, very thin white centre — al dente. The overall texture should be creamy, not dry or soupy.
Community Photos
No photos yet
Be the first to share your creation!

