Risotto alla Milanese (Saffron Risotto)
Why this recipe works
- Classic risotto method: Toasting the rice and adding hot stock gradually helps the grains release starch while keeping an al dente centre.
- Creamy without cream: Butter and Parmesan are stirred in off the heat, giving the risotto its signature glossy finish.
- Fragrant savoury depth: Saffron, white wine, shallot and chicken stock build a rich but balanced flavour base.
Get the most out of this recipe
Timing notes
- Serve straight away: Risotto is best eaten as soon as it is finished, while it is still loose, glossy and flowing.
- Rest briefly off the heat: The short covered rest helps the butter and Parmesan settle into the rice without overcooking it.
Ingredient notes
- Use risotto rice: Arborio rice gives the dish its creamy texture while keeping enough structure in the centre of each grain.
- Let the saffron infuse: Steeping saffron in hot stock before adding it helps draw out its colour and aroma evenly.
- Finish with good Parmesan: Parmesan adds salt, umami and body, so adjust the final seasoning only after it has been stirred in.
Texture tips
- Aim for all’onda: The finished risotto should ripple softly when the pan is shaken; loosen it with a little hot stock if it looks stiff.
- Stop at al dente: Remove the pan from the heat while the rice still has a gentle bite, as it will continue to soften during the final rest.
- Finish off the heat: Stirring in butter and Parmesan away from direct heat helps create a smoother, creamier texture.
Authenticity notes
- Milanese style: The defining feature of Risotto alla Milanese is saffron, which gives the rice its golden colour and distinctive aroma.
- Mantecatura matters: The final mixing of butter and cheese is central to the dish’s texture, binding the rice into a glossy risotto.
- Classic serving: In Lombardy, it is often served as a first course or paired with ossobuco for a richer meal.
Equipment you'll need
Ingredients
Instructions
- Pour the chicken stock into a saucepan and bring it to a gentle simmer, then keep it hot over a low heat. Stir the saffron into a small ladleful of the hot stock and leave it to infuse while you start the risotto.
- Finely chop the shallot. Heat the olive oil with 30 g of the butter in a wide frying pan over a medium-low heat, then cook the shallot for 3 to 4 minutes until soft but not coloured.
- Add the arborio rice and stir constantly for 2 minutes until the grains look slightly translucent at the edges. Season with the fine sea salt.
- Pour in the white wine and stir until it has almost completely evaporated. Keep the heat at a steady medium so the rice cooks gently without catching.
- Add a ladleful of hot stock and stir until it is mostly absorbed, then continue adding stock a ladle at a time, stirring frequently. After about 10 minutes, stir in the saffron-infused stock, then keep cooking until the rice is al dente and the risotto is glossy and flowing, 16 to 20 minutes total from the first ladleful.
- Take the pan off the heat and stir in the remaining 30 g butter and the Parmesan until creamy. Cover and rest for 2 minutes, then taste and adjust with black pepper before serving.
Recipe notes
Tips
- Keep the stock at a gentle simmer throughout; adding cold stock slows cooking and can make the risotto gluey.
- Aim for a loose, wave-like texture when you shake the pan; if it looks stiff, stir in a final splash of hot stock before serving.
- If serving anyone who is pregnant, elderly, or immunocompromised, use Parmesan made with pasteurised milk.
Substitutions
- Replace Shallot with Yellow onion for a slightly sweeter base.
- Replace Dry White Wine with a little extra Chicken stock for an alcohol-free version.
Storage
- Refrigerate up to 2 days
- Cool quickly, cover and refrigerate. Reheat gently in a saucepan with a splash of chicken stock, stirring until piping hot and loosened to a creamy consistency.
Ratings & reviews
Liked this recipe? Share your feedback to support our cooking community.
Tried this recipe?
Choose 1–5 stars. A comment is optional.
Stay inspired
Discover new recipes, seasonal favourites and cooking inspiration every day. Follow JustRecipes on Pinterest and Spillt.
Recipe overview
- Servings: 2 servings
- Total time: 45min (40min active)
- Difficulty: Medium
- Cuisine: Italian
-
Allergens:
Milk
Plan your meals and get a complete grocery list automatically.
Add to meal plannerEquipment you'll need
Got ingredients left?
Find recipes using ingredients from this recipe or what you already have at home.
Find recipes with these ingredients →Make this recipe easier next time
AdvertisementThese tools help you get better results with less effort.
Misen Carbon Steel Nonstick Frying Pan 12 Inch
- Works on all stovetops
- Naturally nonstick when seasoned
- Requires seasoning and maintenance
T-fal Specialty Nonstick Handy Pot with Glass Lid 3 Quart
- Easy food release
- Dishwasher safe
- Not induction compatible
All-Clad HA1 Hard Anodized Nonstick Fry Pan 12 Inch
- Top-tier build quality
- Excellent heat distribution
- Expensive
WMF Mini Saucepan 16 cm with Lid
- High-quality stainless steel
- Even heat distribution
- Higher price point
Enjoy cooking with JustRecipes?
Add JustRecipes as one of your preferred Google sources to discover our recipes more easily across Google Search.
Add JustRecipes to GoogleEvery recipe on JustRecipes follows the same structured editorial process. Learn how recipes are created, validated, translated, illustrated, and continuously improved across the platform. How we create recipes.

























