Take the block of tofu, press all the water out of it and cut into cubes.
Heat 2 tablespoons of oil in a pan and add the cubed tofu. Cook till they brown evenly on all sides and set aside. They need to get a little bit crisp.
In the same pan heat another 2 tablespoons of oil
Add the chopped onions and sauté till the color changes. Sprinkle a little salt to speed up the process.
Now add the cashew nuts to the onions and sauté for about a minute
Now add the tomatoes and cook till it gets soft
Now add the turmeric powder, the chili powder, the cumin powder, the coriander powder and the garam masala.
Mix well and sauté on low heat till it becomes aromatic
Take it off heat and let cool. Transfer to a blender, add ½ a cup of water and blend till everything is pureed into a smooth paste.
In the same pan, heat the remaining oil.
Add the cloves, cardamom, bay leaf and the green chilis
When they begin to sizzle, add the ginger-garlic paste.
Sauté till the raw smell goes away
Now add the blended paste and the remaining water.
Add the sugar and salt and let it simmer till it thickens.
Reduce the heat and add the fried tofu.
Let it simmer for about 5 minutes.
Switch it off and garnish with cilantro.