Heat butter and oil in a pan on medium heat.
Add cumin seeds, bay leaf, cinnamon, cloves, and cardamoms. Sauté until they become fragrant.
Add sliced onions, minced ginger, and crushed garlic. Cook until the onions turn soft and light golden.
Add chopped tomatoes and cashews (or almonds). Cook until the tomatoes soften and lose their raw smell.
Switch off the heat and let the mixture cool slightly.
Transfer the mixture to a blender and blend into a smooth puree, adding a little water if needed.
Strain the puree back into the pan for a silky gravy.
Turn the heat to low and add turmeric, Kashmiri red chili powder, coriander powder, garam masala, salt, and sugar.
Simmer the gravy on low heat until it thickens slightly and you see a little fat on top.
Gently add the paneer cubes and mix carefully so they do not break.
Pour in fresh cream and sprinkle crushed dried fenugreek leaves (kasuri methi).
Cook on low heat for 3–5 minutes to warm the paneer and blend the flavors.
Turn off the heat, cover the pan, and let it rest for a few minutes.
Garnish with a swirl of cream and chopped coriander leaves before serving.