Firstly soak the soyabeans dal in water over night. Next day discard water and rinse soyabeans in warm water. Remove skins as best you can.
Add soyabean dal and 4cup water to blender. Blend until smooth. Strain the blended mixture using sieve, cotton or muslin cloth. Remove the excess foam.
Heat the strained milk in a pan bring it to a boil. Now in a bowl take vinegar mix it with 2 spoon of water. Add this to soya milk gradually keep stirring. Within 5-8minutes milk well start the curdle.
Now take a large strainer and cover it with a cotton muslin. Now pour the curdled milk on top. Fold the fabric over the curd and place a weight on top to begin pressing out the liquid for 1 hour.
remove the block of tofu from the mold and cut it into cubes.
For Tofu butter masala-heat oil in a pan add garlic, ginger and green chilli, mix and saute for a minute. Add onion mix and saute for a minute. Then add tomatoes mix and cook till the tomatoes turn soft and pulpy. Add cashew nut, salt mix it and cook for a minutes. Add 1/4cup water mix and cook for 5-6minutes.
Remove from heat and blend to a smooth paste. Now heat another pan add butter, cumin seeds, whole spices, bay leaf saute and let it Crackle them and nice aroma.
Now add all dry masala Mix well cook in low flame for few minutes. Then add onion, tomato puree cook for oil separate.
Now add salt, dry fenugreek leaves mix well and cook for a minutes. Then add tofu cubes mix well add water and cook for 4-5 minutes. add fresh cream and mix well.
Garnish with coriander leaves and cream.