Creamy Risotto alla Milanese (Saffron Risotto) Recipe

Photographs: Vicky Wasik

Why It Works

  • Washing the rice with the stock creates a starchy liquid that delivers maximum thickening power during cooking, resulting in a creamier final dish.
  • Preserving those surface starches, which would lose their thickening power during the toasting step if left on the rice, means less stirring throughout the process.
  • Whipped cream worked in at the end enhances the texture and lightness of the risotto.

Saffron-scented risotto alla milanese is one of the most luxurious—and simplest—of risottos. This tradition-busting method guarantees the creamiest, silkiest, most delicious version possible.

Recipe Facts



Active: 15 mins
Total: 30 mins
Serves: 4 to 6 servings

Rate & Comment


  • 14 ounces risotto rice (400g; about 2 cups), preferably carnaroli or vialone nano

  • 4 cups (950ml) homemade or store-bought low-sodium chicken stock or homemade vegetable stock, plus more as needed (see note)

  • 3 tablespoons (45ml) extra-virgin olive oil

  • 1 small yellow onion, minced (about 200g; 7 ounces)

  • 1 cup (225ml) dry white wine

  • 2 generous pinches saffron

  • Kosher salt

  • 2 tablespoons (30g) unsalted butter

  • 1 1/2 ounces (40g) freshly grated Parmigiano-Reggiano cheese, plus more for serving

  • 1/2 cup (115ml) heavy cream, whipped to stiff peaks (optional; see note)


  1. Combine rice and stock in a large bowl. Agitate rice with fingers or a whisk to release starch. Strain through a fine-mesh strainer set over a 2-quart liquid cup measure or large bowl. Allow to drain well, shaking rice of excess liquid.

  2. Heat oil in a heavy 12-inch sauté pan over medium-high heat until shimmering. Add rice and cook, stirring and tossing frequently, until all liquid has evaporated and rice sizzles and takes on a nutty aroma, about 5 minutes. Add onion and continue to cook, stirring frequently, until aromatic, about 1 minute. Add wine and cook, stirring occasionally, until the pan is nearly dry, about 3 minutes.

  3. Give reserved stock a good stir and pour all but 1 cup over rice. Add saffron and a large pinch of salt, increase heat to high, and bring to a simmer. Stir rice once, making sure no stray grains are clinging to side of pan above the liquid. Cover and reduce heat to lowest possible setting.

  4. Cook rice for 10 minutes undisturbed. Stir once, shake pan gently to redistribute rice, cover, and continue cooking until liquid is mostly absorbed and rice is tender with just a faint bite, about 5 minutes longer.

  5. Remove lid. Stir remaining 1 cup of stock to distribute starch, then stir into rice. Increase heat to high, add butter, and cook, stirring and shaking rice constantly until butter has melted and rice is thick and creamy; add more stock or water as necessary if risotto becomes too dry. Off heat, add cheese and stir rapidly to thoroughly incorporate. Fold in heavy cream, if using. Season with salt. Serve immediately on hot plates, passing more cheese at the table.

Special equipment

Fine-mesh strainer, large sauté pan (about 12 inches wide)


Chicken stock adds a deeper, meatier flavor, while vegetable stock creates a lighter-tasting risotto; I recommend chicken unless you want to keep the dish vegetarian. Whipped cream is not a traditional ingredient in Milanese risotto, but it adds an ethereal lightness and creaminess that's hard to top. Feel free to omit it.

This Recipe Appears In

Nutrition Facts (per serving)
317 Calories
15g Fat
33g Carbs
9g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 4 to 6
Amount per serving
Calories 317
% Daily Value*
Total Fat 15g 19%
Saturated Fat 6g 28%
Cholesterol 22mg 7%
Sodium 946mg 41%
Total Carbohydrate 33g 12%
Dietary Fiber 1g 3%
Total Sugars 3g
Protein 9g
Vitamin C 3mg 15%
Calcium 114mg 9%
Iron 1mg 6%
Potassium 298mg 6%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)