In a pan, add some butter, cardamom, cinnamon, and cloves.
Now add onion, ginger, and garlic to the pan and roast well.
Add tomatoes, water and a little salt and saute. Cover the pan with a lid and let it boil for 15-20 minutes.
Transfer the paste to a blender and make a smooth puree with it.
Now heat some butter in a pan. Add shahi jeera, bay leaf, red chilli powder, turmeric and roast well.
Pour the tomato puree into the pan and add fresh cream. Mix well.
Now add the paneer cubes and a little saffron to the gravy. Simmer it for some time, then add the kasuri methi and garam masala. Mix well.
Serve the creamy, flavourful Shahi Paneer with garlic naan or basmati rice.