Blanch the tomatoes by putting them in a large heatproof bowl of boiling water for 30 seconds, then plunging them in cold water. Remove the skin and chop the flesh.
Heat the butter in a heavy-based frying pan (skillet) over medium heat, add the paneer and fry for about 8-10 minutes, or until evenly golden brown all over.
Remove with a slotted spoon and soak in a bowl of water to keep succulent.
Heat the oil in a heavy-based pan, add the tomatoes, and stir-fry for 2 minutes. Add all the ground spices, the ginger and garlic pastes, and poppy seeds and continue frying for 2-3 minutes, or until the oil separates out.
Add the crushed ginger, bay leaf, cloves, and cinnamon and pour in 250ml / 8fl oz (1 cup) hot water. Bring to the boil and cook over high heat for about 5-7 minutes.
Reduce the heat and simmer for a further 3-4 minutes, or until the sauce is thick. Add the dried fenugreek, sugar, and cream, then stir, remove from the heat and set aside.
Add the paneer to the sauce, season with salt, and heat before serving. Garnish with coriander leaves.