Vegan Soya Chunk Biryani

Fragrant basmati rice layered with spiced, yogurt-marinated soya chunks, golden fried onions, mint and saffron, then steamed "dum" style in one pot. It is fully vegan, high in protein and tastes rich and festive.

Prep
25 min
Cook
1 hr
Wait
40 min
Total
2 hr 5 min
Makes
4 generous servings (about 8 cups / 1.9 L total)
Share

Steps

Before you start
  • Start the rice soaking first. It needs 30 minutes, and you can prep everything else while it soaks.
  • Use unsweetened, plain plant yogurt (soy or coconut). Sweetened or vanilla yogurt will spoil the flavor.
  • Use a heavy-bottomed pot of 5 quarts (4.7 L) or larger with a tight-fitting lid. A thin pot will scorch the bottom layer during the steaming.
  • Warm the plant milk and crumble the saffron into it at the start so the color has time to bloom.
  1. Soak the rice

    • Rinse the basmati in a bowl with cold water, swirling gently and draining, 4–5 times until the water is nearly clear.
    • Cover with fresh cold water by 1 inch (2.5 cm) and soak for 30 minutes.
    • Drain well in a strainer.
    • Meanwhile, warm the plant milk, crumble in the saffron and set it aside to bloom.
    • Do steps 2–4 while the rice soaks.
    + Show details

    Ready when: Grains turn opaque white and snap easily when pressed between your fingers

    Tip: Don't skip the soak. Unsoaked basmati cooks unevenly and gives short, broken grains.

  2. Boil the soya chunks

    • Bring the 4 cups (950 ml) water and ½ tsp salt to a rolling boil in a medium pot.
    • Add the dry soya chunks, push them under and boil for 8–10 minutes.
    • Drain in a colander, rinse under cold water, then squeeze each chunk firmly between your palms to expel all the water.
    • Cut any very large chunks in half.
    + Show details

    Ready when: Chunks are fully soft and spongy with no hard center when you bite one, and no water drips when squeezed

    Tip: Squeezing is essential. Waterlogged chunks can't absorb the marinade and make the biryani soggy.

  3. Marinate the soya

    • In a large bowl, whisk the plant yogurt, ginger-garlic paste, chili powder, turmeric, garam masala, lemon juice and 1 tsp salt into a thick paste.
    • Add the squeezed soya chunks and toss until every piece is coated.
    • Leave to marinate while you fry the onions, at least 20 minutes.
    + Show details

    Ready when: Chunks are evenly coated in a deep orange-red paste with no dry spots

  4. Fry the onions

    • Heat ¼ cup (60 ml) oil in the 5-quart (4.7 L) heavy pot over medium-high heat.
    • Add the sliced onions and fry, stirring every minute or so, for 12–15 minutes, lowering the heat to medium once they start to color.
    • Cook until deep golden brown.
    • Use a slotted spoon to lift out about half of the onions onto a plate lined with paper towels (they crisp as they cool).
    • Leave the rest and the oil in the pot.
    + Show details

    Ready when: Onions are evenly deep golden brown, like toasted caramel, not dark brown or bitter

    Tip: Onions keep darkening after leaving the pot, so remove them when they're a shade lighter than you want.

  5. Build the masala

    • With the pot over medium heat, add 2 bay leaves, the cinnamon, 4 cardamom pods, 4 cloves and the cumin seeds.
    • Stir for 30 seconds until fragrant.
    • Add the tomatoes, green chilies and ground coriander and cook, mashing the tomatoes with your spoon, for 6–7 minutes until they collapse into a jammy paste.
    • Add the marinated soya with all the marinade, stir well and cook for 6–8 minutes.
    • Pour in the ½ cup (120 ml) hot water, scrape up any browned bits, cover and simmer on low for 5 minutes.
    • Taste and add a pinch of salt if needed (the rice will absorb it).
    • Level the soya in an even layer.
    + Show details

    Ready when: Oil separates and pools at the edges of a thick, clinging gravy that is not watery

    Tip: The gravy should be thick, because the rice will release steam during the dum. A watery base makes mushy rice.

  6. Parboil the rice

    • While the masala simmers, bring 8 cups (1.9 L) water to a rolling boil in a large pot with 1 tbsp salt, 1 bay leaf, 2 cardamom pods and 2 cloves.
    • Add the drained rice and boil uncovered for 5–6 minutes.
    • Test a grain at 5 minutes.
    • Drain immediately in a strainer and spread the rice back out so it stops cooking.
    + Show details

    Ready when: Grains are about 70% cooked: they break easily when pressed but still have a thin, firm white core, and the water tastes pleasantly salty

    Tip: Under-cook rather than over-cook. The rice finishes in the steam and will turn mushy if parboiled fully.

  7. Layer the biryani

    • Make sure the soya gravy is in an even layer in the pot, off the heat.
    • Scatter half of the mint and cilantro over it, then spoon on half of the rice without pressing it down.
    • Top with the remaining mint and cilantro and half of the reserved crispy onions.
    • Add the rest of the rice in a loose mound, then drizzle the saffron milk in streaks over the top, followed by 1 tbsp oil.
    • Scatter the remaining onions on top.
    + Show details

    Ready when: Rice sits in distinct, fluffy layers with saffron streaks of orange and white visible on top

    Tip: Don't stir or pack the layers. Loose rice steams evenly and stays separate.

  8. Steam on dum

    • Cover the pot with foil if the lid is loose, then press on the lid firmly.
    • Set the pot over high heat for 2 minutes until you see steam escaping at the edge.
    • Slide a tawa or heat diffuser under the pot, drop the heat to its lowest setting and cook undisturbed for 20 minutes.
    + Show details

    Ready when: Steady wisps of fragrant steam escape from the lid edge, and a grain of top rice is fully tender when tested

    Tip: Don't lift the lid during the 20 minutes. Escaping steam leaves the rice hard. If you smell burning, turn the heat off at once.

  9. Rest and serve

    • Turn off the heat and leave the pot covered for 10 minutes.
    • Remove the lid and gently fluff from the edge with a fork or flat spoon, lifting from the bottom so the rice and soya masala mix in streaks without breaking the grains.
    • Remove the whole spices if you like.
    • Serve hot with cucumber-plant yogurt raita and sliced onion.
    + Show details

    Ready when: Grains are long, separate and fluffy, with no wet or hard patches

Good to know

Tips
  • Use aged basmati if you can. It stays long and separate, while fresh or short-grain rice turns sticky.
  • Heat is the main variable in the dum. If your stove runs hot, use both a tawa and a folded kitchen towel under the lid to catch moisture so the bottom layer doesn't scorch.
  • For deeper flavor, let the soya marinate for 1–2 hours in the fridge if you have time.
  • Dial the heat up or down by changing the green chilies. Remove the seeds for a milder biryani.
Make ahead

"Boil, squeeze and marinate the soya chunks up to 24 hours ahead and refrigerate in a covered container. You can also fry the onions up to 1 day ahead; store them at room temperature in a sealed container. Parboil the rice and layer just before the dum step."

Storage & reheating

Room temperature: up to 2 hours after cooking. Fridge: cool completely and store in an airtight container for up to 3 days. Freezer: up to 2 months in portioned airtight containers; thaw overnight in the fridge. Reheat single portions covered in the microwave for 2–3 minutes with 1 tbsp water sprinkled over, stirring halfway, until steaming hot throughout. You can also reheat in a covered pan over low heat for 6–8 minutes.

Substitutions
  • unsweetened plain plant-based yogurt → Dairy yogurt (full-fat, whisked). Makes it vegetarian rather than vegan, with a slightly tangier, creamier gravy. Use the same amount.
  • saffron threads → ¼ tsp ground turmeric stirred into the warm milk. Gives similar golden color but not saffron's floral aroma.
  • dry soya chunks (large size) → Firm tofu, cut into 1-inch (2.5 cm) cubes and pan-seared (about 14 oz / 400 g). Skip the boiling and squeezing, add to the masala after searing and cook only 3–4 minutes so it doesn't crumble.
  • Kashmiri red chili powder → ½ tsp sweet paprika plus ¼ tsp cayenne pepper. Approximates Kashmiri chili's color and moderate heat.

More biryani

See all →

Find more like this

Meal
Dinner
Main ingredient
Basmati Rice
Method
Stovetop
Quick & Easy
One-Pot
Occasion
Eid

Reviews (0)