My vegetable biryani recipe is inspired by the opulent flavors of a classic Hyderabadi biryani, with layers of aromatic basmati rice and a masala curry sauce studded with vegetables and tofu for protein. I'm spilling all my secrets and top tips and tricks for making this Indian dish authentic, delectable and also easy.

Table of Contents
Authentic vegetable biryani
All Indian food is delicious, but there is one dish that makes us Indians drool in anticipation above all others: a biryani.
This opulent rice dish with layers of aromatic rice over a spicy curry sauce checks every box: it is rich, well-rounded and it delivers all the flavor your tastebuds ever craved in a single bite.
Biryani is a Muslim dish and although my mom did cook it, she did so very rarely. My college friend, Shahnaz, knowing how I adored it, would sometimes treat me to her mom's biryani, which we ate sitting cross-legged on the floor of her Mumbai apartment, stuffing it into our mouths with our fingers. The whole experience was delicious and decades later I still remember exactly how that biryani tasted.
Desi shares my love for biryani so when we'd eat out he would always order chicken or mutton biryani. When I became vegan I transitioned to veg biryani. But the dish I was served at restaurants was often one-dimensional, more like a pulao, which is a plainer rice dish, tasty but without the luxe, extravagant flavor of a biryani. So I created my own, very authentic-tasting vegan biryani recipe designed to be as alluring as the mutton or chicken biryani Shahnaz's mom made, without the meat or ghee or yogurt.
This is the vegetable biryani I make every couple of weeks now and Desi, who frequently requests it, has never said he misses the meat. It has a richly spiced sauce studded with tofu and vegetables layered under fluffy, cardamom-and-saffron-scented basmati rice. I am so excited to share it with you!
This is also the biryani recipe that spun off the half a dozen or so vegan biryani recipes I've shared with you over the years, including vegan keema biryani, vegan dum aloo biryani, and mushroom biryani. The way I ensure it tastes as authentic as possible is by closely following the ingredients and method for making a Hyderabadi biryani, which is one of the best biryanis you can eat in India. A few thoughtful substitutions for the non-vegan ingredients ensures there is no loss in flavor or texture. You can make this dish without tofu but the tofu adds protein back to the dish.
I designed this biryani so it's really easy, even for a diligent beginner who follows the recipe. You will need to cook the rice and the sauce separately before you put them together and steam them one last time, but the whole process is straightforward and easy. There are so many recipes on the web that cook the rice along with the veggies and while that might appear easier you wouldn't be making a biryani - you'd be making a pulao.
Also be sure to use a good quality biryani masala for the best flavor!
If you are a seasoned cook, you might appreciate the tips and tricks I share below to cook this iconic dish in record time with no compromise on flavor. The recipe is gluten-free and if you are soy-free or nut-free, see the FAQs below for small tweaks. Here's how you make it.
Recipe card

Vegetable biryani recipe
Video
Ingredients
- ¼ teaspoon saffron strands
- ¼ cup non-dairy milk
For biryani rice
- 1½ cups raw basmati rice
- 2 dried bay leaves
- 4 cloves
- 4 green cardamom pods
- 1 black cardamom pods
- 1-inch piece cinnamon
- 1 teaspoon caraway seeds (shahjeera). You can sub this with cumin seeds but try to use it if possible. It adds great flavor to biryanis.
For biryani sauce
- 14 oz super-firm tofu/high-protein tofu (cut in cubes. For more texture use my air-fryer tofu. The tofu is optional but nice and it adds more protein to the biryani recipe.)
- 1 tablespoon oil
- 1 teaspoon caraway seeds (shah jeera)
- 4 green cardamom pods
- 4 cloves
- 2 medium carrots (finely diced -- you want the pieces to be fairly small, about ½-inch square, to cook fast)
- 2 medium potatoes (finely diced)
- ½ butternut squash (finely diced)
- 8 oz cremini mushrooms or button mushrooms (or cremini mushrooms, quartered or halved)
- 2 green bell peppers (diced)
- 1 heaping tsp ginger garlic paste
- 2 tablespoons cilantro (coriander leaves)
- 2 teaspoon dried mint (or 2 tablespoons fresh mint leaves)
- 2 teaspoon dried dill (or 2 tablespoons fresh dill leaves)
- 1 cup vegan yogurt
- 2 tablespoons ground coriander
- 1 teaspoon cayenne (or paprika or any red chilli powder. Add less or skip if sensitive to heat, because store-bought biryani masala often has red chili powder added to it).
- 4 heaping tbsp biryani masala
- ½ cup raw cashew pieces
- 1 cup fried onions (divided)
- Salt and ground black pepper to taste
Instructions
- Soak the saffron in nondairy milk. Set aside.
Make biryani rice
- Place basmati rice in a colander and wash it under running water until the water runs clear. Place the rice in a bowl covered with an inch of water. Let the rice stand 30 minutes, then drain,
- Bring a large pot of salted water to boil with bay leaves, cloves, cinnamon stick, cardamom pods, and caraway seeds. Once the water is at a rolling boil, add the strained rice. Cook 6-7 minutes until the rice is about 80 percent done--tender but with a good bite to it still. Strain the rice in a colander and rinse in cool water. Set aside.
Make biryani curry sauce
- Heat oil in a large Dutch oven or large pot with a tight-fitting lid. Add the caraway seeds, cloves and cardamom.
- Add to the pot the carrots, potatoes and squash. Add the ginger garlic paste, salt and mix. Cover and cook the veggies for 5 minutes or until they are almost cooked. Stir frequently to ensure nothing sticks to the bottom of the pot.
- Add the bell peppers and mushrooms and mix. Cover and continue cooking another five minutes. Â Add the herbs--cilantro, dried mint and dried dill. Mix well.
- Add the vegan yogurt followed by ground coriander and cayenne or paprika. Mix them in. Stir in half the fried onions, raw cashews and biryani masala spice mix.
- Stir in the optional tofu. Add a cup of water to the pot and stir it in to make the masala curry sauce. Once the masala comes to a boil, check for salt and add more if needed. Turn off the heat.
Assemble biryani
- Scatter the cooked rice over the masala in an even layer. Sprinkle the saffron milk over the rice followed by some fresh or dried mint, a few pinches of biryani masala and the remaining fried onions.
- Cover with a tight lid and cook over high heat for five minutes, then lower the heat and continue cooking 10 more minutes. Let the biryani stand 10 minutes, uncovered, before serving.
Notes
- Video. The recipe card includes a video recorded when I first posted this recipe. This updated recipe has a few tweaks and changes, but you can follow the video to familiarize yourself with the techniques used.
- Multitasking tips. Wash and soak the rice and the saffron in the milk before you begin cooking, then proceed with chopping the veggies and herbs. Start the pot of water for the rice when you begin sauteing the veggies, so the rice and the sauce cook up simultaneously.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.
My top tips
- Soak the rice for 30 minutes, no more, no less. The longer the rice soaks, the softer it will get and the less time you will need to cook it. Rice soaked 30 minutes on the dot will result in long, perfectly cooked and aromatic grains of rice. If you soak the rice longer you will get mushier biryani.
- Don't add leafy greens to biryani. Leafy greens are delicious in recipes like palak paneer but they will dilute the flavor of biryani. The only greens in this recipe should be the herbs like mint, dill and cilantro. I have suggestions for other veggies you can add to veg biryani in the recipe FAQs below.
- Serve biryani correctly. Don't just scrape off the top of a biryani with a serving spoon - dig all the way to a bottom with the spoon and lift out the rice along with the curry sauce and veggies for each serving.
- Use a good quality biryani masala. You can buy biryani masala at the store but making your own is so easy. I have a fantastic homemade biryani masala recipe that takes minutes to make and will reward you with the best tasting biryani you ever ate.
How to make vegetable biryani
Soak saffron
- Soak the saffron strands in ¼ cup non-dairy milk. I like doing this at the beginning of the recipe so the saffron strands have time to infuse their color into the milk. This saffron milk, scattered over rice, creates lovely streaks of yellow rice that mingle with the white grains. This gives the biryani an authentic, restaurant-style look.

Soak and cook rice
- Place the rice in a colander or strainer and wash it under running water until the water runs clear. This removes some of the starch clinging to the grains, which can cause rice grains to stick together. Place the rice in a bowl and cover it with an inch of water. Let it stand 30 minutes. I work on the biryani sauce while the rice is standing.
- Strain the rice after 30 minutes.

- Bring a large pot of salted water to boil with bay leaves, cloves, cinnamon stick, cardamom pods, and caraway seeds. Adding spices to the water infuses the water, and the rice, with more flavor. When the water is at a rolling boil, add the drained rice.
- Cook the rice for 6-7 minutes until the rice is about 80 percent done--tender but with a good bite to it still.

- Strain the rice in a colander and rinse it immediately in cool water to stop the rice from cooking further in the steam it releases. Set aside.

Make biryani sauce
- Heat oil in a large Dutch oven or large pot with a tight-fitting lid. Add the caraway seeds, cloves and cardamom.

- Add the carrots, potatoes and squash to the pot followed by the ginger garlic paste, salt and mix. It's good to give these veggies a head start because they will take longer to cook than mushrooms and bell peppers. Cover and cook the veggies for 5 minutes or until they are almost cooked. Stir the veggies frequently to ensure nothing sticks to the bottom of the pot.

- Add the bell peppers and mushrooms and mix. Cover and continue cooking another five minutes.

- Add the herbs--cilantro, dried mint and dried dill. Mix them into the veggies. These strongly scented herbs will add wonderful flavor and umami but you won't really be able to tell these flavors apart while eating.

- Add the vegan yogurt, ground coriander and cayenne or paprika to the pot and mix them in. Yogurt is used to add moisture and richness to a biryani sauce. If you don't have yogurt, blend ½ cup cashews with one cup water and the juice of a lemon.

- Stir in half the fried onions, raw cashews and biryani masala spice blend. Mix everything together.

- Add in the tofu, if using, and mix it in. Add a cup of water to the pot and stir it all together to make the biryani sauce. When masala comes to a boil, check salt and add more as needed. Turn off heat.

Assemble the vegetable biryani
- Scatter the cooked rice over the masala and spread it in an even layer. Sprinkle the reserved saffron milk over the rice followed by a bit of fresh or dried mint, a few pinches of biryani masala and the remaining fried onions.
- Cover the pot with a tight lid and cook over high heat for five minutes. Turn the heat to low and continue cooking 10 more minutes. This method is called "dum" in India - it's a slow-cooking method that allows the flavors in the biryani to mingle and merge via the steam.
- Let the biryani stand 10 minutes, uncovered, before serving. Don't be tempted to peek early - the rice has to continue steaming for a bit after the heat is turned off.


Recipe FAQs
Basmati is the only variety of rice you should use for a biryani. Not only is basmati very aromatic, a quality you can really appreciate in a biryani, but the grains get longer and remain separate after cooking, giving the dish a beautiful look.
Yes. Brown basmati rice will take longer to cook so factor in additional time. The brown rice should be cooked almost all the way when you layer it over the veggie masala.
Season the cooking water with salt and spices, and cook the rice until it is about 80 percent done - the rice should break when pressed but it should still have an opaque center. When the rice is slightly undercooked, it is able to absorb the steam and aromas in the biryani masala sauce during the final stage of cooking. When the biryani is done, the rice will be perfectly cooked and fluffy, with long, separate grains. If you cook the rice all the way, then layer it over the biryani sauce and cook it further, the rice will be overcooked and mushy.
Time-saving tip: When I'm rushed I make this a more hands-off process by cooking the rice in the microwave. To do this, place the basmati rice in a bowl with 2 ½ cups water and the spices. Microwave on high power for 10 minutes. If there's any water left in the bowl after microwaving strain it out before adding the rice to the biryani.
You can, but you will miss out on the depth of flavor you need in a truly well made biryani. There is some overlap between the spices used for garam masala and biryani masala but there are also key differences, like the amount of individual spices used to balance flavors. Biryani masala also includes additional ingredients like anardana or dried pomegranate seeds and caraway seeds for sweet, tangy and smoky flavors.
Yes, here's my recipe for Instant Pot biryani. To make biryani in a stove top pressure cooker, check out my recipe for pressure cooker vegetable biryani.
You can swap out the vegetables in my recipe for green peas, cauliflower, green beans, summer squash and sweet potatoes. Use up to six cups of veggies.
Serve biryani with an Indian salad like vegan cucumber raita or kachumber. In Hyderabad, biryani would be served with a spicy mirch ka salan.
Store biryani leftovers in the fridge for up to three days. Freeze the biryani in an airtight container or freezer-safe container for up to three months.
Thaw and reheat in the microwave or in a covered, oven-safe pot or bowl in an oven set to 350 degrees F/180 degrees C.
For a soy-free diet simply skip the tofu or use a non-soy tofu. If you are nut-free, skip cashews and use a nut-free, unsweetened yogurt.
If you are low-carb, check out my keto-friendly cauliflower rice biryani










Penny says
Thank you for your vegan biryani. We enjoyed it.
Vaishali says
Hi Penny, that's wonderful to hear. So happy you loved the biryani. 🙂
Sujata says
We can't get enough of this vegetable biryani. It's restaurant quality and absolutely wonderful. I make it every week and usually it's gone at the dinner table with no leftovers! Thanks for sharing this delicious biryani Vaishali.
Lori says
Hi! I made this and really enjoyed it. I have also made the instant pot version you created. Excellent! I did use brown basmati rice and liked it very well.
Vaishali says
Hi Lori, so happy you loved the biryani.
Harrison Bergeron says
Delicious. Came out wonderful
Vaishali says
So happy to hear!
Lola says
Made this for dinner last night. It was perfect, like something from a restaurant only better because I made it! Awesome recipe and thanks for posting with such clear instructions. I will be adding this to my rotation.
Vaishali says
So thrilled you made it, Lola!
Mark says
I wasn't sure whether to use or throw away the rice water. I used a little to cook the vegetables.
Vaishali says
Hi Mark, it's in step 5-- strain the rice and discard all the water. Rice water is starchy and you don't want to add it to veggies because it will add more starch and stickiness to the recipe. Biryani rice needs to remain separate.
Maria says
My favorite biryani recipe ever! Can't say enough about it.
Vaishali says
Awesome, so happy you love it Maria! 💕