This post may contain affiliate links. Please read our disclosure policy.
Risotto alla Milanese is a classic Italian dish that originates from Milan, known for it’s creamy texture and rich flavor.

I absolutely love to make this risotto to serve with my Osso Buco recipe, but it’s super versatile and also pairs well with grilled chicken, lamb chops, or pan-seared scallops! This is just a fantastic dish to serve alongside a protein for a complete, delicious meal.

A defining feature of Risotto alla Milanese is the use of saffron threads, which are steeped in white wine. This not only creates a beautiful golden color to the dish, but also adds a distinct, aromatic flavor. This risotto is rich, creamy, and absolutely delicious.
ingredients:
- Chicken or Vegetable Broth
- Saffron Threads
- Dry White Wine
- Olive Oil
- Unsalted Butter
- Yellow Onion
- Kosher Salt
- Arborio Rice
- Parmesan Cheese
- Salt
- Black Pepper
- Fresh Parsley optional for garnish

step-by-step:
step one: prepare the broth
In a saucepan, bring the chicken or vegetable broth to a simmer. Once simmering, reduce the heat to low to keep it warm.
step two: bloom the saffron
In a small bowl, combine the saffron threads with the white wine. Let it sit for about 10 minutes to allow the saffron to bloom and release its flavor and color.
step three: sauté the onion
In a large, heavy-bottomed pot or skillet, heat the olive oil and butter over medium heat. Add the onion and salt and sauté until it becomes translucent, about 5 minutes.
Step four: toast the rice
Add the Arborio rice to the pot and stir to coat the grains with the oil and butter. Cook for about 2-3 minutes, until the rice is slightly toasted and translucent around the edges.
step five: add the wine
Pour in the saffron-infused white wine and stir continuously until it is mostly absorbed by the rice, about 2 minutes.
step six: add the broth
Once the wine is absorbed, begin adding the warm broth to the rice, one ladleful at a time, stirring frequently. Allow the rice to absorb most of the liquid before adding the next ladleful. Continue this process for about 18-20 minutes, or until the rice is creamy and al dente.
step seven: finish and serve!
Once the rice is al dente, remove the pot from heat. Stir in the grated Parmesan cheese until well combined. Season with salt and black pepper to taste. Serve the risotto hot, garnished with chopped fresh parsley if desired.

recipe FAQs:
I know what you mean! I personally don’t think so, though there is one step that requires a frequent stirring. You’ll want to watch the risotto closely as it absorbs the broth so you know when to add the next ladle. Trust me: it’s worth it!
Sure! If you use dairy-free butter and skip the parmesan cheese, this is still delicious and would be dairy-free! The method of cooking the risotto makes it plenty creamy without the cheese.
Like I said, this pairs perfectly with my Osso Buco, but I can’t wait to hear what you pair it with!
Looking for other mains to pair with this risotto? Try these!
Oven Baked Greek Inspired Halibut

Risotto alla Milanese
Ingredients
- 4 cups chicken or vegetable broth
- 1 teaspoon saffron threads
- 1/2 cup dry white wine
- 2 tablespoons olive oil
- 1 tablespoon unsalted butter
- 1 cup finely diced yellow onion
- ½ teaspoon kosher salt
- 1 1/2 cups Arborio rice
- 1 cup freshly grated Parmesan cheese
- Salt and black pepper to taste
- Chopped fresh parsley optional, for garnish
Instructions
Prepare the Broth:
- In a saucepan, bring the chicken or vegetable broth to a simmer. Once simmering, reduce the heat to low to keep it warm.
Bloom the Saffron:
- In a small bowl, combine the saffron threads with the white wine. Let it sit for about 10 minutes to allow the saffron to bloom and release its flavor and color.
Make the Risotto:
- In a large, heavy-bottomed pot or skillet, heat the olive oil and butter over medium heat. Add the onion and salt and sauté until it becomes translucent, about 5 minutes.
- Add the Arborio rice to the pot and stir to coat the grains with the oil and butter. Cook for about 2-3 minutes, until the rice is slightly toasted and translucent around the edges.
- Pour in the saffron-infused white wine and stir continuously until it is mostly absorbed by the rice, about 2 minutes.
- Once the wine is absorbed, begin adding the warm broth to the rice, one ladleful at a time, stirring frequently. Allow the rice to absorb most of the liquid before adding the next ladleful. Continue this process for about 18-20 minutes, or until the rice is creamy and al dente.
- Once the rice is al dente, remove the pot from heat. Stir in the grated Parmesan cheese until well combined. Season with salt and black pepper to taste.
- Serve the risotto hot, garnished with chopped fresh parsley if desired.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Food Photography and Styling by Eat Love Eats.




Super easy but patience required for ladling and stirring. On my gas stove it took about 45 minutes before I could add parm but then again, I like soft risotto not al dente.
Patience is definitely the name of the game, but so worth it 🙂
Could you make this ahead of time and reheat? Also, do you strain out the saffron threads before pouring the wine in?
This was my first attempt at making Risotto and your directions made it much simpler than I’d thought it would be. The flavor was so good and I served it with your Osso Buco recipe. They complimented each other beautifully. Loved both recipes. I will definitely make this risotto, again.
yay! I am so glad you made it and enjoyed it! Risotto is simple, just a little bit of labor of love. Always a warm hug!
This is almost exactly my family’s risotto recipe! I’m biased, but I think it’s absolutely delicious!
We add sliced mushrooms to ours. To do so, I remove the pan from the heat just before the rice is al dente, add the raw mushrooms and cheese, stir, cover, and allow to steam for ~10 minutes to finish cooking the rice and cook the mushrooms.
Before serving, we add chunks of boiled chicken so you can eat risotto as a meal instead of a side dish. 😉
Great work, Alex! Your instructions are much easier to follow than my own, so I’ll adopt yours! 😀
Absolutely delicious – I prefer this recipe to risotto Milanese I’ve had in restaurants! And I was so surprised how easy this was to cook!! Served with your osso buco recipe for Christmas Eve dinner. Such a special and impressive meal! Thank you!
Incredible! We served this with lobster tonight and it was so good. I live at high altitude so I had to add more liquid and cook for more time to get mine al dente.