Wrap the whole spices (bay leaf, cardamom, cloves, pepper) in a cheesecloth or muslin to make a bouquet garni
In a large pan, heat a tablespoon of butter and a tablespoon of oil. Add kashmiri red chillies, ginger garlic paste and saute for a minute
Add onions and cook for another 2-3 minutes. Next add cashews and poppy seeds
Once the onions turn translucent, add tomatoes and a teaspoon of salt. Cook the tomatoes for 2-3 minutes and then add the spice bouquet garni along with 1/2 cup water
Set the mixture aside to cool. Once cool, remove the bouquet garni and blend this mixture to a smooth paste. Add another cup of water while blending
In the same pan, heat the remaining butter and add the blended tomato onion paste
Add garam masala powder, chili powder, turmeric, ketchup, 1/2 teaspoon salt along with 1/2 cup water. Bring this to a boil
Carefully heat a piece of lump coal using tongs till red hot. Place the coal in a steel bowl and place this bowl in the pan in a way that it doesn't submerge. Pour a teaspoon of oil on top and as soon as it starts smoking, cover the gravy for 2 minutes
Mix kasuri methi and a tablespoon of cream in the gravy
Add paneer cubes. Mix and simmer for 2 more minutes
Top with more cream or butter
Serve hot!