Risotto alla Milanese is the golden saffron risotto of Lombardy, sometimes called risotto giallo (yellow risotto). Short-grain rice is cooked slowly in hot stock, then finished with butter and grated Parmigiano until it is loose, glossy and creamy. The saffron gives it a warm, floral, slightly honeyed scent and a deep yellow colour.
Nobody can say for certain who invented it. The best-known legend places it in 1574, when an apprentice of the Milan Cathedral glassmaker, nicknamed Zafferano because he used saffron to tint glass, is said to have stirred it into rice at the master’s daughter’s wedding. The first printed recipe under the name “Risotto alla Milanese” appears in an 1829 Milanese cookbook, where the rice is cooked with butter and meat stock and enriched with beef marrow.
In Milan it is the classic partner for ossobuco, though it works well as a first course or a simple supper on its own. It is one of the few Italian dishes cooked in butter rather than olive oil.
What you need
Rice. Carnaroli and Vialone Nano are the usual choices. Both are high in starch and stay firm in the centre while the outside turns creamy. Arborio works too and is easier to find.
Saffron. Threads give the best aroma. You only need a generous pinch (roughly 40 to 50 threads for 4 people), but they must be steeped in hot liquid first so the colour and scent come out.
Stock and cheese. Use hot, low-salt stock, because both the stock and the Parmigiano add salt. Traditional versions use meat stock and a little bone marrow; the recipe below makes the marrow optional. Many recipes add white wine. The Milan-registered version is reported to leave it out because it can dull the saffron, so this recipe has no wine and nothing replaces it.
| Ingredient | Swap | What changes |
|---|---|---|
| Carnaroli rice | Vialone Nano or arborio, same weight | Arborio is slightly less forgiving, so start checking a minute earlier |
| Saffron threads | Saffron powder, about the same weight (0.1 to 0.15 g) | Dissolve in warm stock and add at the very end so the scent isn’t lost |
| Parmigiano-Reggiano | Grana Padano, same weight | Slightly milder and sweeter |
| Chicken stock | Vegetable stock, same volume | Lighter taste; the dish stays vegetarian only if your cheese is too |
| Bone marrow | Leave it out, no replacement | Slightly less rich; some cooks then call it risotto allo zafferano |
Risotto alla Milanese (saffron risotto, no wine)
Creamy golden Milanese risotto with saffron, butter and Parmigiano, cooked without wine, pork or alcohol.
- Gluten-free
- Halal
Ingredients
Saffron infusion
- 1 pinch Saffron threads
- 60 ml Hot stock, hot, not boiling
Risotto
- 1.2 l Chicken stock
- 80 g Unsalted butter
- 25 g Beef or veal bone marrow, traditional but optional (optional)
- ½ Onion
- 320 g Carnaroli rice
- 70 g Parmigiano-Reggiano
- 1 pinch Fine salt
- 1 pinch Ground white or black pepper (optional)
Equipment
Wide, heavy-bottomed pan, Small saucepan for stock, Ladle, Wooden spoon, Small cup with saucer
Method
- Steep the saffron. Crush the saffron threads lightly between your fingers and drop them into a cup with 60 ml of hot (not boiling) stock. Cover with a saucer and leave for at least 40 minutes (10 minutes works if you're short on time). The liquid should turn deep orange.
- Heat the stock. Bring the remaining stock to a bare simmer in a saucepan and keep it hot on the lowest heat for the whole recipe.
- Soften the onion. Melt 40 g of the butter (and the marrow, if using) in a wide, heavy pan over low heat. Add the onion and a pinch of salt and cook for 6 to 8 minutes, stirring, until soft and translucent with no browning.
- Toast the rice. Raise the heat to medium-high, add the rice and stir for 2 to 3 minutes, until the grains are coated in butter, translucent at the edges and smell lightly nutty.
- Add the stock gradually. Add a ladle of hot stock (about 120 ml) and stir until it is almost absorbed. Keep adding 100 to 120 ml at a time, stirring often, so the rice bubbles gently and is always just covered.
- Stir in the saffron. After about 10 to 12 minutes of stock additions, pour in the saffron liquid with the threads and stir well. The whole pan should turn a clear golden yellow.
- Check the rice. Keep cooking for 4 to 6 more minutes (16 to 18 minutes total from the first ladle). Taste: the grains should be tender outside with a slight bite in the centre, suspended in a loose, creamy sauce.
- Finish off the heat. Take the pan off the heat. Add the remaining 40 g cold butter in pieces and the Parmigiano, then beat hard with the spoon for about 30 seconds until glossy.
- Rest and season. Cover and leave for 2 minutes. Season with salt and pepper if needed; if it looks stiff, loosen it with a splash of hot stock.
- Serve at once. Spoon onto warm, shallow plates. The risotto should flow slowly when you tap the plate. Serve straight away because it thickens as it cools.
Contains: milk. Check the labels on packaged ingredients.
Written with AI assistance and reviewed by a human editor. This recipe has not been cooked in a home kitchen, so taste and adjust as you go. The header picture is an AI-generated illustration, a stock photo or an official press picture, not a photo of this exact recipe. Use halal-certified meat.
Tips for success
- Keep the stock hot. Cold stock stops the simmer each time you add it, so the rice cooks unevenly and takes longer. Hold the stock at a bare simmer in a second pan.
- Steep the saffron early. Use hot but not boiling liquid and leave it covered for at least 40 minutes; 10 minutes still works if you’re short of time. A pale risotto usually means the saffron went in dry or too late.
- Add the saffron about two thirds of the way through. That gives it time to colour every grain while keeping its aroma.
- Add stock in small ladles and stir often. Stirring rubs starch off the grains, which makes the creaminess. Don’t flood the pan; the rice should look just covered.
- Stop while the centre still has a slight bite. The rice carries on cooking in the pan and under the butter, so a risotto that’s perfect on the hob is soft by the time it reaches the table.
- Finish off the heat with cold butter and cheese. Beat them in hard, then cover for 2 minutes. This is what turns the cooking liquid into a flowing, creamy sauce rather than a sticky mass.
Common mistakes: seasoning too early (the stock and cheese are salty), cooking on too high a heat so the outside breaks down before the middle softens, and leaving the risotto on the hob while guests sit down. It thickens fast, so serve it straight away.
Storing and reheating
Cooked rice needs quick handling because it can carry Bacillus cereus spores that survive cooking. USDA guidance is to refrigerate leftovers within 2 hours (1 hour if the room is hotter than 32°C) and eat them within 3 to 4 days at 4°C or below. Spread the risotto in a shallow container so it cools quickly.
The UK Food Standards Agency is stricter for rice: it advises keeping cooked rice in the fridge for no more than 1 day and reheating it only once. If you follow UK or Dutch guidance, use that shorter window. For the freezer, 1 to 2 months is the usual quality limit for cooked rice.
Reheat in a pan with a splash of hot stock or water, stirring, until it is steaming hot all the way through. USDA recommends 74°C as measured with a food thermometer. Don’t refrigerate it a second time.
Serving ideas
Serve it on warm, shallow plates; it should spread gently when you tap the plate. Ossobuco-style braised shanks are the traditional partner, and a roast chicken or a pan of garlicky spinach also goes well. A simple salad with lemon dressing balances the butter.
Diet and allergen notes
The recipe contains milk (butter and Parmigiano) and is gluten-free as long as your stock contains no wheat; check the label. It is not vegetarian as written because it uses chicken stock, and not dairy-free, vegan or keto. Use halal-certified chicken stock. Parmigiano-Reggiano is made with animal rennet, so if you need halal-certified cheese, look for a hard Italian-style cheese labelled as such. Stock cubes and ready-made stock sometimes contain celery.
For variations, add a spoonful of sautéed, diced beef or veal marrow with the onion for the traditional version, or serve the risotto with a few lightly poached marrow rounds on top.
Questions
Do I need bone marrow?
No. It is part of the old Milanese recipe and adds richness, but the dish works without it. Some cooks then call it risotto allo zafferano, and no replacement is needed.
Can I use saffron powder instead of threads?
Yes. Dissolve it in warm stock or water and stir it in at the end of cooking, because the scent fades with long heat. Threads are added about two thirds of the way through.
Why is my risotto stiff and gluey?
Usually it has overcooked, or it was left to stand. Add a splash of hot stock and beat it, aiming for a loose, flowing texture. Next time pull it from the heat while the grain still has a slight bite.
Sources
- Source: Risotto alla milanese (saffron risotto), Zafferano Emiliano
- Source: Perfect Milanese Risotto with Saffron Threads, Zafferano Emiliano
- Source: Saffron risotto, GialloZafferano
- Source: Risotto alla Milanese, Saveur
- Source: Risotto alla milanese (Milanese Style Risotto), Memorie di Angelina
- Source: Risotto alla Milanese (Saffron Risotto), Food52
- Source: Risotto, Wikipedia
- Source: Risotto alla Milanese, history and recipe, Mediolan
- Source: How Safe Is Leftover Rice?, America’s Test Kitchen
- Source: Leftover rice in the fridge, how long it lasts and reheating
- Source: How Long Do Leftovers Last?, The Whole Fork

