This savory spiced mushroom biryani recipe is a wonderful meal for vegetarians and omnivores alike. Layers of marinated, meaty mushrooms, fluffy basmati rice, and fresh herbs make this an extra-special vegetarian biryani. In this recipe, I've included lots of step-by-step pictures and tips so can feel confident making your own stovetop biryani from scratch!
Biryani is one of my favorite dishes! Growing up, it was the kind of meal I'd look forward to for a special occasion. Every so often, my mom would get up early to prepare chicken biryani on a Saturday. She'd marinate and cook the chicken, fry the onions, prepare the rice, and then layer everything to steam together. It was incredibly delicious and comforting, a true labor of love and expression of gratitude.
While we don't quite know the exact origins, biryani was likely first developed and presented in the royal kitchens1. So it's no surprise that this dish, a favored selection at wedding celebrations, is robust in scope, flavor, and scale.
There are many traditional meat biryani recipes on the internet, so I challenged myself to develop a vegetarian version. The typical restaurant-style vegetable biryani often underwhelms me; to me, they feel like a bit of an afterthought compared to the meat versions.
I've really been loving the umami flavor of mushrooms in various vegetarian applications, including my mushroom bourguignon, mushroom pappardelle pasta, and creamy mushroom ragu. So naturally, I wondered if mushrooms could take the place of meat in biryani.
Why You'll Love This Recipe
I'm happy to report that after several tests and extensive research2, I've developed a delicious mushroom biryani for you! Here, the mushrooms are front and center; they stand up to the bold flavors of a typical biryani.
- 🍄 Meatier mushroom varieties pair well with heavier spices and provide a firm yet chewy texture.
- 🌶️ Layers of fried mushrooms, mushroom masala (gravy), herbs, and rice cooked "dum style" (steamed) = layers of flavor. This is nothing like a boring vegetable pulao.
- 🍚 Parboiling the rice eliminates technical difficulties in undercooking or overcooking grains in the final presentation. The result? Fluffy, separated grains of buttery, spiced rice.
Mushrooms: Use a mix of meatier mushrooms, such as maitake, king trumpet, shiitake, or oysters. I don't recommend white button mushrooms, as they don't offer enough flavor.
Extra-Long Aged Basmati Rice: Basmati rice is a fragrant (the word basmati literally translates to fragrant) long-grain rice produced mainly in South Asia. It has an aromatic, floral, pandan-like aroma, and when cooked, it emanates a nutty, almost popcorn-like scent. Aged rice is more aromatic than non-aged varieties (meaning more flavor) and generally yields fluffier grains.
Recommendation: Pride of India is my brand of choice because of its aroma and flavor. I also love Tilda! Either way, choose an aged variety with an off-white tinge.
Yogurt: Purchase whole-milk, full-fat yogurt to reduce the risk of the yogurt marinade curdling when exposed to heat. Desi-style dahi or homemade yogurt is a great option if available.
Key Spices: Biryani contains a mix of whole and ground spices. There are several warming spices used to develop a nice aroma, including cinnamon sticks, cloves, cardamom, and bay leaves, and red chili powder for heat.
👩🏽🍳🌶️ Important FYI 🌶️👩🏽🍳
I cycle through my spices quite quickly because of my extensive recipe development work.
What does this mean for you?
Check your spices before making this recipe. If they emit a strong fragrance, they're likely fresh. If they seem older or more stale, you may need to purchase new spices or add more spices to achieve the same flavor.
For an in-depth introduction on Indian spices, check out my guide on how to cook with Indian spices.
Saffron: Saffron adds a beautiful floral aroma and its red threads stain the rice a vivid yellow color. You can purchase it at a local spice shop, or my favorite spice company, Diaspora Co. I love using it in various recipes, including malloreddus, a type of Sardinian gnocchi.
Biryani Masala: Biryani masala is a mix of many different spices, mostly earthy warming spices, that give the dish its quintessential flavor. You can purchase the spice mix at any specialty Indian store or online, and I personally recommend Hyderabadi biryani masalas. Biryani masala is pretty similar to garam masala, so you can definitely substitute garam masala if you can't find it.
For a full list of ingredients and quantities, refer to the recipe card.
How to Perfectly Cook Rice
When I first started making biryanis and pulaos, I was extremely intimidated by cooking the rice. Many recipes call for a one-pot method of layering raw rice with the other components and steaming everything together.
When I tried this, I'd often end up with mushy rice, hard undercooked rice, or a combination of the two. It was definitely frustrating, but I was determined to find an easier method.
After a lot of research, I finally landed upon Andy Baraghani's Herb Rice3; this dish uses a common technique of parboiling the rice in water until just barely al dente (similar to making pasta!). Izzah from Tea for Turmeric4 also uses this method in her Chicken Biryani recipe.
Because the rice is almost fully cooked through, when you layer it with your meat and/or vegetables, you lightly steam the biryani just enough for the flavors to converge and finish cooking the rice all the way. This prevents any undercooked rice or mushy, overcooked rice.
Summary: For the best texture, choose extra-long aged basmati, and make sure to rinse it thoroughly before cooking to remove excess starch before par-boiling.
How to Make Mushroom Biryani
Step 1 - Marinate the Mushrooms: Marinate half of the mushrooms in a mixture of yogurt, spices, ginger, and garlic (Image 1) at room temperature for 30 minutes (or refrigerated for up to 4 hours).
Step 2 - Soak Rice: Place rice in a fine mesh sieve and rinse, frequently running your hands through the grains, until the water almost runs clear, about 90 seconds - 2 minutes.The water will never become fully translucent, so don't stress out too much about this! After rinsing, soak at least 30 minutes up to 4 hours, then drain.
TIP: Pre-soaking rice reduces the cooking time!
Step 3 - Prepare the Saffron Milk: Crush the saffron with a small mortar and pestle or a knife. Mix the crushed saffron with milk until it turns yellow, and set aside (Image 2).
Step 4 - Parboil the Rice: Fill a large pot with 8 cups of water and mushroom bouillon (or seasoned vegetable stock). Bring to a boil, then add the drained rice. Boil for 4 - 6 minutes4,5, or until "al dente."
The rice should still be fully intact and taste almost cooked through. The center should be less cooked; with a firm texture and opaque color but not completely raw. The ends will taste just about cooked through, with a slight springiness to the bite (and not mushy at all).
Less-aged/fresher rice will take closer to 4 minutes, while longer-aged grains will take 5 minutes or longer. Drain the cooked rice, reserving ½ cup of the stock, then gently toss with ghee to keep the grains separated (Image 3).
Step 5 - Fry the Mushrooms and Onions: Fry the other half of the mushrooms and half of the onions until they're golden-brown all over (Image 4). Remove and set aside.
Step 6 - Saute Aromatics: Bloom the whole spices in oil (Image 5), then saute the remaining onions (Image 6) until soft and translucent.
Step 7 - Cook the Marinated Mushrooms: Add half of the sauteed onions to the marinade. This helps temper the yogurt (and warm it up to the temperature of the pot) and prevents curdling.
Add the reserved stock to the pot (Image 7), followed by the mushroom marinade. Bring the mushrooms to a simmer (Image 8) and cook until the liquid reduces to a gravy-like consistency (Image 9).
Step 8 - Layer: Now that you've prepared all of the components, you're ready to layer the biryani. Wipe the pot clean, then place half of the rice at the bottom of the pan (Image 10). Layer the mushroom gravy on top of the rice (Image 11).
Scatter half of the cilantro, and dollop the remaining tablespoon of ghee all over. Layer the second half of the rice on top. Pour the saffron milk evenly over the rice, followed by the fried mushrooms and onions, and the cilantro (Image 12).
Step 9 - Steam: Cover the pot and set over medium heat for 5 minutes to warm up the biryani. Reduce the heat to the lowest setting on your stove, then set a timer for 20 minutes. Finally, turn the heat off, and allow the biryani to sit for 10 minutes. Fluff with a fork and serve!
Step 10 - Serve: Serve warm or at room temperature with a squeeze of lemon juice! You can either mix all of the layers together or keep the layers separate (the latter looks prettier when serving because you can see the different layers).
Storage and Reheating Instructions
Store leftover mushroom biryani in an airtight container in the fridge for 2 - 4 days. Reheat leftover biryani in the microwave with a damp paper towel on top; microwave in 1 - 2 minute intervals until warmed through.
Soaking the rice ensures even cooking and increases the likelihood of a fluffy, tender texture (as opposed to mushy, sticky rice).
Yogurt is prone to curdling when heated. To prevent this, ensure the yogurt and marinade are at room temperature. Before adding the yogurt-marinated mushrooms, stir in warm sauteed onions to temper the marinade. Finally, use low heat when adding the marinade to the pot.
Ha, no! Don't eat the whole spices -- they taste super intense (and sometimes bitter). You can remove them when serving, or allow guests to pick them out while eating.
Hard-boiled eggs are a common addition to biryani, and it provides a great source of protein. You can also serve this dish with a side of lemon wedges, green chilies (if you like it spicy!), and a side of yogurt or cucumber raita.
For even more cozy recipes, be sure to subscribe to my newsletter.Happy eating! Love, Karishma
Mushroom Biryani Recipe
- Dutch oven, or medium pot
- Mortar and pestle, or a coffee/spice grinder
For the mushroom marinade:
- ¼ cup plain whole milk full-fat yogurt
- 1 ½ teaspoons grated or finely minced ginger, or ginger paste
- 1 ½ teaspoons grated or finely minced garlic, or garlic paste
- ½ teaspoon biryani masala, or 1 teaspoon garam masala | finely ground
- ½ teaspoon ground cumin
- ½ teaspoon ground coriander
- 1 teaspoon Diamond Crystal Kosher Salt, if using any other salt, use ½ teaspoon
- ¼ teaspoon ground turmeric
- 1 teaspoon mild red chili powder, such as Kashmiri chili powder
- 4 ounces assorted mushrooms, such as cremini, shiitake or oyster | thinly sliced or torn into bite-sized pieces
For the biryani:
- 8 to 10 saffron threads
- 1 tablespoon whole milk
- 1 cup aged extra-long basmati rice*
- 3 tablespoons mushroom bouillon, I recommend Better than Bouillon | or vegetable broth
- 2 tablespoons ghee, divided
- ¼ cup canola oil, or other neutral oil | plus more if needed
- 4 ounces assorted mushrooms, such as maitake, cremini, shiitake or oyster | thinly sliced or torn into bite-sized pieces
- 1 large onion, thinly sliced and divided
- Kosher salt, as needed
- 2 whole cardamom pods
- ½ cinnamon stick
- 2 whole cloves
- 1 Indian bay leaf, optional
- ½ cup fresh cilantro or mint, finely minced
- ½ cup plain whole milk full-fat yogurt
- hard-boiled eggs, lemon wedges, or sliced fresh chilies, optional
- Prepare the marinade: In a medium bowl, combine all of the marinade ingredients. Marinate for 30 minutes at room temperature.Note: You can also marinate the mushrooms in the fridge for up to 4 hours. Allow them to come to room temperature before cooking.¼ cup plain whole milk full-fat yogurt, 1 ½ teaspoons grated or finely minced ginger, 1 ½ teaspoons grated or finely minced garlic, ½ teaspoon biryani masala, ½ teaspoon ground cumin, ½ teaspoon ground coriander, 1 teaspoon Diamond Crystal Kosher Salt, ¼ teaspoon ground turmeric, 1 teaspoon mild red chili powder, 4 ounces assorted mushrooms
- Make the saffron milk: Crush the saffron with a mortar and pestle, spice/coffee grinder (you can also chop it with a knife) until it forms a coarse powder. In a small bowl, mix saffron and milk. Set aside.8 to 10 saffron threads, 1 tablespoon whole milk
- Prepare the rice: In a fine mesh sieve, rinse the rice while running your fingers through the grains until the water runs mostly clear, about 90 seconds - 2 minutes. Transfer to a medium bowl and cover with water. Soak rice for at least 30 minutes, up to 4 hours. Once soaked, drain the rice.1 cup aged extra-long basmati rice*
- Par-boil the rice: Bring a large pot with 8 cups of water and mushroom bouillon (or salted vegetable broth) to a boil. Once boiling, stir the pot to ensure there are no clumps of bouillon. Add the rice and cook for 4 - 6 minutes, or until the rice tastes “al-dente”. Rice should still be intact but taste almost cooked through; the center should be firm, but not hard. Drain the rice and reserve ½ cup of the stock. Gently toss rice with 1 tablespoon of ghee and set aside.3 tablespoons mushroom bouillon, 2 tablespoons ghee
- Fry the mushrooms and onions: While the rice soaks and the mushrooms marinate, fry the remaining mushrooms and onions. In a heavy-bottomed 2 ½ quart dutch oven or pot, heat canola oil over medium-high heat. Add the mushrooms and ½ the onions. Fry them until they are nicely browned (but not burnt), about 8 - 10 minutes. Turn the heat off, season with salt, then use a slotted spoon to transfer to a plate and set aside.¼ cup canola oil, 4 ounces assorted mushrooms, 1 large onion, Kosher salt
- Cook the mushroom gravy: Heat the residual oil over medium heat.Add the whole spices until they begin to sizzle, then stir in the remaining slices of onion. Saute for 6 - 8 minutes until soft and translucent. Reduce the heat to low and add ½ cup of the reserved stock. Add half of the cooked onions to the marinated mushrooms (this will help temper the yogurt so it doesn’t curdle) and stir to combine. Add the marinated mushroom/onion mixture to the pan, then bring to a simmer. Cook for 8 - 10 minutes, or until the liquid has thickened to a gravy-like consistency and the oil has separated from the gravy; the gravy should cling to the mushrooms. Remove from the heat and transfer to a bowl. Wipe the pan clean.2 whole cardamom pods, ½ cinnamon stick, 2 whole cloves, 1 Indian bay leaf
- Layer the biryani: Add half of the rice and spread in an even layer in the dutch oven. Top with all of the marinated mushroom gravy and half the cilantro. Dollop the remaining tablespoon of ghee in an even layer. Layer the remaining half of the rice and pour the saffron milk all over. Top with the fried mushrooms and fried onion and the cilantro. Cover the pot.Note: If your dutch oven tends to stick (or you don't want to take the risk), layer the mushroom gravy first, then all of the rice, then the saffron milk, fried mushrooms, fried onions, and cilantro. When I make this in my dutch oven with the rice on the bottom, I typically get a layer of toasted, but not burnt, rice (or socarrat).½ cup fresh cilantro or mint
- Cook the biryani: Set the pot over medium heat. Cook for 5 minutes, covered, over medium heat. Reduce the heat to the lowest setting, then cook for 20 minutes. Finally, turn the heat off, and let sit for 10 minutes. Fluff with a fork, and serve.
- Serve the biryani: Serve hot with a dollop of yogurt, and hard-boiled eggs, lemon wedges and chilies (if desired). Note: Part of the biryani experience is keeping the whole spices in the rice; however, they are not meant to be eaten! You can push them aside while serving or eating.½ cup plain whole milk full-fat yogurt, hard-boiled eggs, lemon wedges, or sliced fresh chilies
Aka the resources that helped make this mushroom biryani!
2 Tasting lots of delicious biryanis at home, in restaurants, and in India over the years 😊
4 Pakistani Chicken Biryani from Tea for Turmeric: I learned a ton of tips from this chicken biryani recipe by Tea for Turmeric by Izzah. I highly recommend this recipe if you ever want a chicken version!