Pick and wash basmati rice in plenty of water and soak in four cups of water for half an hour. Drain and keep aside. Peel, wash and chop onion and ginger. Wash and chop tomatoes.
Clean, wash and finely chop fresh coriander leaves. Soak soya chunks in five to six cups of lukewarm water for fifteen minutes. Squeeze out excess water and cut each piece into two.
Heat oil in a thick-bottomed pan, add onion and sauté for two minutes. Cook on medium heat, stirring continuously till the onion starts turning brown. Add coriander powder, turmeric powder, red chilli powder and chopped tomatoes.
Continue cooking on medium heat for three to four minutes or until tomatoes are cooked. Add soya chunks, basmati rice and chopped fresh coriander leaves and stir gently for a minute.
Stir in three cups of water, salt to taste and bring it to a boil. Reduce heat, cover pan and simmer till all the water has been absorbed and rice is cooked. Serve hot.