In a large, heavy-bottom pot, melt the butter over medium-high heat. Add the cauliflower, shallots, and salt, and sauté for about 10 minutes or until softened and golden. Set aside a little of the cauliflower and shallots to garnish the soup before serving, if desired.
Add the broth, milk, and heavy cream. Lower the heat, cover with a lid, and let the soup simmer for about 20 to 25 minutes or until the cauliflower is cooked through.
Using a blender or an immersion blender, blend the soup until perfectly smooth and creamy. Season to taste with salt and pepper.
To serve, ladle the soup into individual bowls and top with the reserved cauliflower and shallots, if using, and garnish with herbs and a dash of cream. Serve with crusty bread to dip.
