Add the cloves, cardamom, bay leaf and salt to the water, bring to a boil, then add the rice and bring back to a boil.
Lower the heat, cover and allow to cook for 10 minutes. Turn off heat.
Heat the oil in a skillet. Add the sliced onions and cook over medium-high heat, stirring frequently, for about 10 minutes until they are golden-brown and caramelized.
Remove half the onions to a bowl and reserve. To the remaining onions, add the garam masala, turmeric and chilli powders and stir well for a few seconds. Add the tomato puree.
Saute until the tomato turns darker and begins to express oil.
Add the seitan along with the marinade, stir together well and bring to a boil. Then lower the heat and allow the mixture to simmer for about 15 minutes or until the flavours have merged well. Add salt to taste.
Take the cooked rice and gently spread it on top of the gravy in an even layer.
Close the skillet with a tight-fitting lid, ensure the heat is still turned to low, and allow the biryani to cook for another 10 minutes. If you like some additional colour in your biryani, mix 2 tbsp of soymilk with a few strands of saffron or a generous pinch of turmeric and sprinkle on top of the rice before putting on the lid.
Turn off the heat and allow the biryani to stand for at least 10 minutes before opening.
Garnish with the fried onions you had reserved and the coriander leaves. You can also saute a few cashew nuts and raisins in a smidgen of oil until the raisins are plumped up and the nuts golden, and then sprinkle them on top of the biryani for a fabulous final touch.