Take a heavy-bottomed pan and heat 3 tablespoons of oil for the gravy.
Add the following and saute until the spices crackle and give out their scents: Indian Bay Leaf, cinnamon, black and green cardamom, strands of mace, and cloves.
Then add the onion paste and a pinch of salt to this pan. Stir frequently and fry until the paste turns golden.
Next, add the ginger-garlic paste and saute until its raw smells go away. Then add tomato puree and continue frying for around 7 minutes on medium heat.
Add turmeric powder, coriander powder, fennel powder, red chili powder, garam masala powder. Mix and continue to saute while stirring often.
After around 5 minutes of frying, add the cashew paste. Stir well until the mixture starts to release oil.
All the while keeping the flame medium to low, continue to saute. When you see the oil releasing, add the sugar and salt according to your taste.
Add 2 cups of water and mix well. Simmer on medium to low heat until the gravy thickens. This typically takes around 10 minutes. The gravy is supposed to have a medium-thick consistency.
When the gravy is done, some oil will start to appear on the surface. Then you can turn off the heat and sprinkle the crushed fenugreek leaves and cream on the gravy.
Mix the gravy well and then set it aside.