Put the potatoes in a medium saucepan, cover with cold, salted water and bring to a boil. Cook for 15 minutes then drain.
Put the spices in a large cast iron pot or a large saucepan on medium-high heat. Toast the spices until fragrant.
Add two tablespoons of butter to the spices and, once bubbling, add the cauliflower. Fry, stirring occasionally for around 8 minutes (it’ll be hard to tell because of the spices but try to brown the cauliflower in places.
Remove cauliflower to a bowl, leaving any excess spicy butter in the pan. Turn the heat to low, add another two tablespoons of butter, the shallots and chillies, and fry gently for six to eight minutes, until the onions are soft and golden.
Add the garlic, cook for two minutes, stirring often, then stir in the tomatoes, tomato paste, and the remaining two tablespoon butter. Add half the tin of coconut cream, stock, potatoes and half a teaspoon of salt, mix again, and simmer for 30 minutes, until thick and reduced.