In a large pot, heat olive oil over medium heat. Add the onion, garlic, carrots, and celery, and sauté until the vegetables are tender.
Add the chopped cauliflower and vegetable broth. Bring the mixture to a boil, then reduce heat and let it simmer until the cauliflower is tender, about 15-20 minutes.
Use an immersion blender to carefully blend the soup until smooth. If you prefer a chunkier texture, blend part of the soup and leave some intact.
Stir in the heavy cream and season with salt and pepper to taste.
Serve hot, garnished with fresh herbs.