This flavorful, easy-to-make vegetable biryani (vegan-friendly) cooks in one pot in under 60 minutes. Ideal for beginner cooks—no advanced techniques required—just fluffy spiced rice, chewy TVP (textured vegetable protein) chunks, and tender vegetables every time.

Serve this biryani with a variety of sides for a satisfying, budget-friendly meal. Because of a couple of time-saving steps, this dish could be considered closer to a pulao than a traditional layered biryani, but the flavour is authentic and delicious.
I recommend using TVP for added chew and texture; if you prefer, substitute the same quantity of extra vegetables or cubed tofu.
Best side dishes to serve with vegetable biryani
We usually serve biryani with plenty of raita, a warming shorba, and fresh kachumber salad.
Kachumber is simply chopped tomatoes, onions, and cucumber tossed with a pinch of spices. I typically season mine with black salt, cayenne, and chaat masala. For shorba, a simple spiced tomato soup pairs wonderfully.

For raita, I personally prefer onion raita over cucumber raita. Cucumber raita is often under-seasoned and too watery where I’ve eaten it, so a tangy onion raita complements the biryani much better in my view.
How long does this vegetable biryani take?
With the shortcuts used here, you can have a large pot of flavorful biryani in under an hour. Using a pressure cooker or Instant Pot could save time, but rice can be temperamental; for a no-stir, reliable result I recommend a good non-stick pot and the stovetop method described below.
Tips for making the biryani
Don’t skip steps or swap ingredients without considering how they affect moisture. I’ve tested this recipe several times—rice responds to both added water and moisture released by vegetables. Too much liquid yields mushy rice; too little leaves it undercooked. Follow the measurements and method closely for the best texture.

Start by soaking three cups of basmati rice in enough water to cover it for 30 minutes. While the rice soaks, thinly slice some onions and fry them with cardamom pods and a cinnamon stick in sunflower oil until they are golden-brown and partly caramelized.
If you can find brown cardamom, use it—its subtle smoky note enhances the biryani—but it’s optional if unavailable.
While the onions brown, blend a paste from the remaining onions, chilli, garlic, and lemon juice. Mix in the ginger powder and coat the TVP chunks with this paste. Larger TVP chunks work best for texture; if using tofu, cube it and coat the same way. If you’re adding extra vegetables instead of TVP, you can stir the paste into those later.

Prepare the vegetables and microwave the potato and carrot cubes in a covered container with a tablespoon of water for about four minutes to partially soften them.
Once the rice has soaked, drain it well and toss with a teaspoon of oil and a teaspoon of salt. Turn up the heat under the fried onions, add the TVP chunks and sauté for 3–4 minutes, stirring frequently to prevent sticking. Add the par-cooked potatoes and carrots, stirring for another minute.
Then add frozen peas, black pepper, coconut cream, turmeric, biryani or garam masala, water, and a crumbled vegetable stock cube. Stir thoroughly to combine.

Cover the pot tightly. If steam is escaping excessively, press foil between the lid and pot for a tighter seal. Bring to a boil, then reduce to the lowest heat setting and cook undisturbed for 20 minutes. Quickly remove from heat, open the lid with minimal steam loss, and gently fluff the rice with a fork, bringing the drier top layer down. Replace the lid immediately and let the biryani rest off the heat for 15 minutes.
Your biryani is now ready to serve. If you try this recipe, feel free to leave feedback or share a photo on social media.
📖 Recipe
Easy One-Pot Vegetable Biryani
Fluffy basmati rice, tender vegetables, and chewy vegan protein, all spiced and ready in under an hour. Serve with a selection of sides for a restaurant-style meal at home.
30 minutes
20 minutes
15 minutes
1 hour 5 minutes
Ingredients
- 3 cups uncooked basmati rice
- 1 teaspoon salt
- 4 tablespoons sunflower oil plus 1 teaspoon
- 4 medium onions
- 6 green cardamom pods
- 2 brown cardamom pods (optional)
- 1 long cinnamon bark (5 inch) or ¼ teaspoon ground cinnamon
- 1 chili pepper or ¼ teaspoon cayenne
- 2 teaspoons ginger powder
- 9 cloves garlic
- Juice of one medium lemon
- 1.5 cups soy chunks (TVP)
- ½ teaspoon ground black pepper
- 1 teaspoon salt
- 1.5 cups cubed potatoes
- 1.5 cups cubed carrots
- 1 cup frozen peas
- 6 tablespoons coconut cream
- 1 teaspoon turmeric
- 2.5 teaspoons biryani or garam masala powder
- 4 cups water (960 ml)
- 1 vegetable stock cube
Instructions
- Soak the basmati rice in enough water to cover it by about an inch for 30 minutes.
- Thinly slice two onions and fry over medium heat with the green and brown cardamom and the cinnamon bark until brown and fragrant. If using ground cinnamon, add it to the paste in the next step.
- Roughly chop the remaining two onions and blend with the chili, lemon juice, and garlic into a smooth paste.
- Stir the ginger powder into the paste and coat the TVP chunks with it. Set aside.
- Prepare vegetables by cutting into small cubes (about 1–1.5 cm). Microwave the potato and carrot cubes in a covered container with 1 tablespoon water for four minutes to partially soften.
- Drain the soaked basmati rice and mix it with 1 teaspoon oil and 1 teaspoon salt.
- Add the TVP chunks to the fried onions and sauté for 3–4 minutes. Add the potatoes and carrots and stir for one more minute.
- Add the peas, black pepper, coconut cream, turmeric, water, crumbled stock cube, and biryani or garam masala. Mix thoroughly.
- Cover the pot tightly and bring to a boil. Once boiling, reduce the heat to the lowest setting and cook undisturbed for 20 minutes.
- After 20 minutes, remove from heat quickly to preserve steam. Stir the biryani gently with a fork to bring the drier top layer down, reseal the pot, and let it rest off heat for 15 minutes. Serve hot.
Nutrition Information
Yield
6
Serving Size
1
Amount Per Serving
Calories 398
Total Fat 13g
Saturated Fat 4g
Trans Fat 0g
Unsaturated Fat 9g
Cholesterol 0mg
Sodium 978mg
Carbohydrates 65g
Fiber 6g
Sugar 22g
Protein 7g