Classic Risotto alla Milanese (Saffron Risotto Recipe)
Few dishes capture the soul of Northern Italian home cooking quite like a perfectly creamy, golden-hued Risotto alla Milanese. Infused with the luxurious aroma of saffron and enriched with butter and Parmigiano-Reggiano, this classic recipe is the ultimate comfort food. Inspired by the warm, traditional style of home cooks like Nonna Pia, this recipe guides you through creating a restaurant-quality risotto right in your own kitchen.

Recipe Overview
Risotto alla Milanese is a legendary Lombardian dish celebrated for its vibrant yellow color and velvety texture. Unlike other rice dishes, a great risotto relies on a specific cooking method: slowly adding warm broth to starchy rice, allowing the grains to release their starches and create a naturally creamy sauce without needing heavy cream. This version features the traditional elements of saffron, white wine, and a rich finish of butter and cheese.
Ingredients
To make this classic saffron risotto at home, you will need the following ingredients:
- Arborio or Carnaroli Rice: 1.5 cups (high-starch short-grain rice is essential)
- Saffron Threads: 1/2 teaspoon (crushed and steeped in a few tablespoons of warm water or broth)
- Chicken or Beef Stock: 4 to 5 cups (kept hot on the stove)
- Dry White Wine: 1/2 cup (such as Pinot Grigio or Sauvignon Blanc)
- Shallot or Small Onion: 1, finely minced
- Unsalted Butter: 4 tablespoons (divided; keep half cold for the finish)
- Parmigiano-Reggiano Cheese: 1/2 cup, freshly grated
- Olive Oil: 1 tablespoon
- Salt and Black Pepper: To taste
Step-by-Step Instructions
1. Steep the Saffron
Place the saffron threads in a small bowl with 3 tablespoons of warm broth or water. Let it steep for at least 10–15 minutes to release its vibrant color and rich aroma.
2. Heat the Broth
In a medium saucepan, bring your stock to a low simmer. Keep it warm on a burner next to your risotto pan throughout the cooking process. Adding cold broth will shock the rice and ruin the creamy consistency.
3. Sauté the Aromatics
In a large, heavy-bottomed pan or Dutch oven, heat 1 tablespoon of olive oil and 2 tablespoons of butter over medium heat. Add the minced shallot and cook until soft and translucent (about 3 to 4 minutes), making sure not to brown them.
4. Toast the Rice
Add the Arborio rice to the pan. Stir constantly for 2 minutes to coat every grain in the melted butter and oil. You want the edges of the rice grains to look translucent while the center remains pearly white. Toasting prevents the rice from becoming mushy.
5. Deglaze with Wine
Pour in the dry white wine. Stir continuously until the wine is almost fully absorbed by the rice, releasing a wonderful aroma.
6. Add the Broth and Saffron
Begin adding the warm broth one ladleful at a time. Stir frequently over medium-low heat. Wait until each ladle of broth is mostly absorbed before adding the next. After about 10 minutes of cooking, pour in the steeped saffron liquid along with the threads, stirring well to distribute that iconic golden hue.
7. Cook to Al Dente
Continue adding broth and stirring for about 18 to 22 minutes in total. The rice is ready when it is creamy but still retains a slight bite in the center (al dente). You may not need all of the broth.
8. The Mantecatura (The Creamy Finish)
Remove the pan from the heat. This step is crucial for authentic texture. Stir in the remaining 2 tablespoons of cold butter and the freshly grated Parmigiano-Reggiano. Stir vigorously for about a minute to emulsify the fat with the remaining starch, creating an incredibly creamy sauce. Season with salt and freshly ground black pepper to taste.
Tips for Best Results
- Never use cold stock: Adding cold liquid cools down the cooking process and prevents the starch from releasing properly.
- Stir frequently, but not constantly: Stirring encourages the rice grains to rub against each other, releasing the starches that make risotto creamy. However, you don’t need to stand there stirring without a single second of rest; just keep a close eye on it.
- Use high-quality saffron: Saffron is the star of this dish. Opt for whole saffron threads rather than powdered saffron for the cleanest, most authentic flavor.
Serving Suggestions
Serve your Risotto alla Milanese immediately while it is warm and flowing (in Italy, this texture is called all’onda, meaning “wavy”). It pairs beautifully with:
- Classic Milanese Ossobuco (braised veal shanks)
- Roasted chicken or seared pork chops
- A crisp green salad dressed with a simple lemon vinaigrette to cut through the richness
Storage and Reheating
Risotto is best enjoyed immediately. However, if you have leftovers, store them in an airtight container in the refrigerator for up to 3 days. To reheat, place the risotto in a saucepan with a splash of water or broth, and heat gently over low heat while stirring until creamy and warmed through. Alternatively, use leftover cold risotto to make delicious Italian Arancini (fried rice balls)!
Frequently Asked Questions
Can I make this recipe without wine?
Yes. If you prefer to cook without alcohol, you can skip the wine and substitute it with an equal amount of warm broth mixed with a squeeze of fresh lemon juice to provide that essential acidity.
What rice is best for risotto?
Arborio is the most common and widely available risotto rice. However, if you can find Carnaroli rice, many Italian chefs prefer it because it holds its shape beautifully and is less likely to overcook.
Why is my risotto sticky instead of creamy?
Sticky risotto is usually the result of overcooking, cooking over too high heat, or not using enough liquid. Keep the heat at a gentle simmer and ensure there is enough liquid to keep the rice flowing gently when stirred.