Heat some butter or oil in a pan.
Add cardamom and chopped onions to the pan. Then add tomatoes, ginger, garlic, cashews, red chilli powder, coriander powder, garam masala, turmeric, salt and sugar.
Saute it for 2-3 minutes until it becomes a soft and mushy paste.
Put the paste in a blender and add one cup of water to it. Make a smooth puree out of it.
Pour some oil into a pan and roast paneer cubes in it. Once the paneer cubes turn golden brown, keep them aside.
Heat some butter in a pan. Add cardamoms, bay leaf, cinamon, and cloves to it. After a while, add the tomato puree to the pan. Add a little more red chilli powder and water (if needed).
Cover the pan with a lid and let it cook. You can add a little more salt if needed.
After the gravy becomes thick, add the golden paneer cubes to it. Also, add 2-3 tablespoons of cream and cook it a while longer.
Finally, garnish it with fresh coriander. Serve with garlic butter naan, and enjoy the Punjabi style Paneer Butter Masala at home.