Heat the oil in a large pot over medium-low heat.
Add the diced onions, bay leaf, cumin, turmeric, coriander, cardamom, salt, black pepper, and red pepper flakes.
Cook slowly, stirring occasionally, for about 10 minutes until the onions are soft and translucent.
Add the minced garlic and cook for another 1–2 minutes until fragrant.
Pour in the vegetable broth and add the chopped cauliflower.
Increase the heat and bring the mixture to a boil.
Reduce the heat to a simmer and cook for about 15 minutes, or until the cauliflower is very tender.
Remove from heat and carefully blend until completely smooth and creamy.
Return the soup to the pot and stir in the coconut milk and apple cider vinegar.
Warm the soup over low heat without letting it boil.
Taste and adjust seasoning if needed.
Serve hot, garnished with fresh dill and a sprinkle of black pepper if desired.