Add the whole spices (the first 6 ingredients) into a spice grinder and grind them into a fine powder. If your spice grinder is large and can handle wet ingredients, you can start layering the rest of the ingredients. Otherwise, transfer the spices to a blender or small food processor.
Add the garlic and ginger to the ground spices. Blend to break up the aromatics. Then add the dry spices, sugar, and vinegar. Blend until you have a smooth paste. Add a splash of water if it is too dry.
Preheat the oven to 425 F. (220 C.). Trim the cauliflower head into florets, cutting any larger pieces in half if needed. Plate the florets on a baking tray and lightly sprinkle them with salt and pepper. Bake the cauliflower until slightly browned and tender when pierced with a fork. About 20 minutes.
Heat a medium pot, Dutch oven, or large skillet to medium-high heat. Add the onions and stir them around in the dry pan until they soften (2-3 minutes).
Add the garlic, ginger, black mustard seeds, turmeric, and garam masala. Stir for 30 seconds to mix.
Mix in the tomato paste and vindaloo paste. Then add vegetable broth.
Let the sauce simmer for about 5 minutes to combine the ingredients and thicken.
Gently stir in the roasted cauliflower.
Serve with rice or flatbread and lemon slices if desired.