Boil 3 cups of water in a saucepan and add a pinch of salt. Add soya chunks to the boiled water. The soya chunks should be completely immersed in the water. Let them cook for 6-8 minutes. Let the soya chunks cool for 4-5 minutes and gently squeeze the water out of them.
Rinse the soya chunks in cold water and squeeze the water out of the soya chunks. Repeat this process at least 2 more times.
Cook the rice with twice the amount of water and salt (1/4 tsp) till it is 3/4th done. [ Note: I make my rice in the microwave. Normally I keep it for 16 minutes but when I am making rice for pulao I keep it for 12 minutes]. Set aside.
In a medium-sized kadhai or wok add 3 tablespoons of oil and keep it on medium heat. Add peppers, cloves and bay leaves. When they sizzle (after 10-15 seconds) add onions and garlic. Fry them till the onions turn translucent.
Add tomatoes and continue frying till they turn mushy.
Add the green chilies, red chili powder, salt, turmeric powder, and soya chunks and mix well.
Whisk the yogurt well and mix it with the coconut milk (if you are using it) and add it to the kadhai/wok.
Continue to keep it on medium heat for another 8-10 minutes. At this point, the gravy should run thick and the soya chunks should have absorbed the flavor from the gravy.
Add garam masala or biryani masala and mix well .
Add the rice to the kadhai and carefully fold it in and simmer it for 5 minutes covering the kadhai before taking it off heat.
Garnish it with coriander leaves and serve hot with raita.