Vegan Saffron Risotto (Risotto alla Milanese)
This post may contain affiliate links. Please read my Privacy Policy for details.
Vegan saffron risotto (risotto alla milanese) is a classic Italian risotto from Milan, Italy. The golden color will draw you in. But it’s the creamy comfort of a traditional risotto that you will fall in love with! This easy vegan recipe comes together in 30 minutes.
I first had saffron risotto at my favorite vegan restaurant in NYC. The first thing I noticed was the golden color. But after the first bite, I no longer saw the color because I closed my eyes, savoring each bite!
When I came home, I was perfecting risotto alla milanese. It is an easy dish that always feels elegant. My favorite way is to serve it with lemon-marinated tofu steaks and a simple tomato and onion salad. The combination helps balance out the richness of the risotto.
Total Time
30 Minutes
Servings
4 Main Dishes
Diet
Vegan and Vegetarian Optional
What Makes this Recipe Special
- Simple Italian risotto recipe that looks high-end!
- You can enjoy it as a side or main dish.
- Vegan recipe that can be easily adapted to be vegetarian.
Key Ingredient Notes
Broth
Traditional risotto Milanese is made with beef broth. Mine is made with vegetable broth. This recipe is flexible enough for you to use any broth you have in your pantry!
Butter
I used plant-based ingredients to make this recipe vegan. You can substitute with traditional butter if you prefer.
Dry White Wine
The key here is dry! You can use a cooking white wine or a dry wine you like Sauvignon Blanc or Pinot Grigio. Look for keywords like sour, crisp, acidic, and, of course, dry to identify dry wines.
Parmesan Cheese
I am using a Follow Your Heart brand of vegan parmesan cheese. You can substitute with traditional dairy cheese.
Rice
Most risotto recipes use arborio rice, which is easy to find at most large grocery stores. You can also use carnaroli rice. It is a starchier and holds its shape better. Look for it at an Italian specialty store or on Amazon.
Saffron Threads
You can find saffron threads at most grocery stores or online. But if you can afford it, I recommend buying saffron from a spice specialty store like Penezys.
Readers Also Liked
Step-by-Step Instructions
Step One: Prep
Bloom the Saffron – first, you want to bring 1/2 cup of water to a boil. Crush the saffron threads between your fingers and drop them into water. You want to do this at least 15 minutes before you start making the risotto.
Heat the Broth – In a saucepan, heat the broth until it’s very warm, but not boiling. While it is heating, work on steps three to five. In step six, you need to add warm broth to the rice.
Step Two: Sauté the Shallots
In a large sauté pan over low to medium heat, melt 1 tablespoon of butter. Add the minced shallot with a pinch of salt. Sauté until the shallots are translucent, about 3 to 5 minutes. Do not let the shallots or butter turn brown; they will create a bitter flavor.
Step Three: Toast the Rice
Next, toast the rice in the same pan, leaving the shallots in the pan. Melt 1 tablespoon of butter, then stir in the rice, making sure every grain is evenly coated. Cook for about 2 minutes, stirring often, until the rice looks glossy and slightly translucent with a light golden hue — this “pearly” stage builds flavor and improves the final texture.
Step Four: Add the Wine
Add the white wine to the rice. Stir the rice vigorously until the wine is absorbed, for about two minutes.
Step Five: Add Stock
Ladle in one cup of warm stock and the infused saffron water. Stir constantly until the broth is absorbed. Repeat, adding one cup at a time, until the rice is al dente (tender, but has a slight bite). This should take between 15 and 20 minutes. If it is thickening at a faster rate, reduce the heat.
- Note, if you live at a higher altitude, it can take up to an additional 20 minutes for the rice to absorb the broth.
Step Six: Butter and Cheese
Remove the sauté pan from the heat. Stir in the remaining one tablespoon of butter and grated Parmesan cheese. You want the cheese and butter to melt and the risotto to be creamy! Cover and let rest for 1-2 minutes.
Step Seven: Serve
Spoon the creamy saffron risotto into shallow bowls. You can add more cheese on top. I like to add parsley for a pop of color. If serving as a side dish, place the main protein across the top 1/3 at an angle, allowing the golden color to shine!
Tips for the Perfect Creamy Saffron Risotto
- Constantly Stir – This motion allows the rice to absorb the liquid. If you do not stir consistently, your risotto will be undercooked and lack the creamy texture you want.
- Incrementally Add Warm Stock – First, always use warm stock. Cold stock will shock the rice, making it harder to absorb. Next, you have to add it in one cup increments for the arborio rice to properly absorb the broth. There are no shortcuts around this!
- Bloom the Saffron – The saffron has to be bloomed in hot water for it to release its flavor. Chefs like to have it bloom overnight. Once I decide I am going to make this dish, I start blooming the saffron. The more time, the better. But I would say you need at least 15 minutes.
Personalize this Recipe
- Veggies – This recipe tastes great with grilled asparagus! I like to roast the asparagus and lay it across the top for a dramatic look. For a more humble choice, add green peas.
- Tofu – I like to serve risotto with lemon-marinated tofu steaks. The citrus of the lemon balances out the richness of the risotto.
- Seafood – Many people like to top this recipe with grilled prawns or salmon.
Cultural Notes
Saffron Risotto, or Risotto alla Milanese, dates back to 16th-century Milan. Legend says a Flemish glassmaker added saffron to rice at his daughter’s wedding to mimic the golden stained glass of the Milan Duomo. Over time, it became a beloved Lombardy dish, with the first printed recipe appearing in the 1800s. (Source)
If you tried this saffron risotto recipe or any other recipe on my blog, leave a star rating and let me know how it went in the comments below.
Vegan Saffron Risotto (Risotto alla Milanese)
Equipment
- 1 large saute pan
- 1 medium pot
- 1 cutting board
- 1 sharp chef knife
Ingredients
- 6 cups vegetable broth
- 3 tablespoons vegan butter
- 2 cups uncooked Arborio rice
- 2 medium shallots minced
- 1 cup dry white wine
- ½ teaspoon saffron threads
- ¾ teaspoon fine sea salt
- ¼ teaspoon black pepper
- 3 ounces grated vegan Parmesan cheese – about 2 cups
Instructions
Step One: Prep
- Bloom the Saffron – first, you will want to bring 1/2 cup of water to a boil. Crush the saffron threads between your fingers and drop them into water. You want to do this at least 15 minutes before you start making the risotto.
- Heat the Broth – In a saucepan, heat the broth until it’s very warm, but not boiling. While it is heating, work on steps three to five. In step six, you will need to add warm broth to the rice.
Step Two: Sauté the Shallots
- In a large sauté pan over low to medium heat, melt 1 tablespoon of butter. Add the minced shallot with a pinch of salt. Sauté until the shallots are translucent, about 3 to 5 minutes. Do not let the shallots or butter turn brown; they will create a bitter flavor.
Step Three: Toast the Rice
- Next, toast the rice in the same pan, leaving the shallots in pan. Melt 1 tablespoon of butter, then stir in the rice, making sure every grain is evenly coated. Cook for about 2 minutes, stirring often, until the rice looks glossy and slightly translucent with a light golden hue — this “pearly” stage builds flavor and improves the final texture.Note, if you live at a higher altitude it can up to an additional 20 minutes for the rice to absorb the broth.
Step Four: Add the Wine
- Add the white wine to the rice. Stir the rice vigorously until the wine is absorbed, for about two minutes.
Step Five: Add Broth
- Ladle in one cup of warm stock and the infused saffron water. Stir constantly until the broth is absorbed. Repeat, adding one cup at a time, until the rice is al dente (tender, but has a slight bite). This should take between 15 and 20 minutes. If it is thickening at a faster rate, reduce the heat.
Step Six: Butter and Cheese
- Remove the sauté pan from the heat. Stir in the remaining 1 tablespoon of butter and grated Parmesan cheese. You want the cheese and butter to melt and the risotto creamy! Cover and let rest for 1-2 minutes.
Step Seven: Serve
- Spoon the creamy saffron risotto into shallow bowls. You can add more cheese on top. I like to add parsley for a pop of color. If serving as a side dish, place the main protein across the top 1/3 at an angle, allowing the golden color to shine!
Notes
- Servings: This recipe can be made as 4 main dishes or 8 side dishes
- Storing: Let the risotto cool to room temperature. Place the risotto in an airtight container in the refrigerator for up to 3 days or in the freezer for one month.
- Reheating: Reheat the risotto on the stove in a small sauce pan. Add broth to help loosen the risotto.



Sooooo delicious and perfect for Fall!!
Worth the stirring time too! I share this recipe a lot!
YEA! I am so happy you liked it! And it is so worth all the stirring!