Trim the base and outer leaves of the cauliflower. Hollow out the stem about 1.25 inches. Immerse the cauliflower head-down in cold salted water.
Pour 3 cups salted water into a saucepan large enough to hold the cauliflower, and bring to a boil over high heat. Place the cauliflower in the water, stem end down. When the water returns to a boil, cover and boil for 15-25 minutes over moderate heat.
Meanwhile place the tomatoes in a small saucepan with the 1/4 cup of water and the bay leaf and peppercorns. Gently boil over moderate heat for 10 minutes. Strain the juice through a sieve, discarding the seeds and spices.
When the cauliflower is almost tender lift it out carefully and drain in a colander. Transfer to a heated serving dish and rub with 2 tablespoons of butter (or use ghee if you have it.) Set aside in a warm oven.
Combine the ground spices with the 2 tablespoons of water in a small dish. Heat the remaining 3 tablespoons of butter in a small saucepan over moderate heat. Add the spice water and fry for 30 seconds. Pour in the tomato juice, salt and sugar, bring to a boil and reduce until thick enough to coat a spoon.
To serve, spoon the sauce over the cauliflower, drizzle the yogurt over the sauce and sprinkle with nuts. Cut into wedges and serve.