Heat the butter and oil in a pot, add the cumin seeds, cardamom and cinnamon. When the cumin starts to splutter, add the fenugreek leaves followed by the onions and fry until they are translucent and starting to brown. Then add the ginger and garlic paste and the green chillies, fry them for a minute then add the cubed tomatoes and the tomato paste plus the tandoori masala, turmeric powder, chilli powder, coriander powder and cumin powder.
Cook on high heat for a few minutes, then lower to a simmer and cook until the tomatoes are mushy, fragrant and well-cooked and some oil begins to get released from the sides. Turn off the heat, and remove the cinnamon stick and the cardamom pods from the mixture. Let it cool slightly, then put the mixture in a blender and blend until smooth. Return the mixture into your pot, season with a bit of salt and the sugar. You can add a tiny bit of warm water at this stage if you want extra gravy. Bear in mind that the gravy will thicken slightly once the cream goes into it.
Remove the paneer cubes from the warm water and add them into the gravy. Mix well then add the cream and garam masala and simmer together for about 3 minutes until the gravy thickens and coats the paneer cubes well. Adjust seasoning. Switch off and garnish with chopped coriander. Serve over rice or with naan. You can add a blob of butter or drizzle some cream for a lovely appearance if you want when you serve the dish. Enjoy!