Pour the olive oil into a large pot and heat over medium high heat. Add onions and sauté until they are just turning tender, about 3-5 minutes.
Add cauliflower, carrots and chicken broth to the pot, bring to a boil, cover the pot and reduce the heat to medium low. Simmer until the veggies are tender, about 30 minutes.
Puree the veggie mixture with an immersion blender until smooth. You can also do this in a regular blender – you might have to do it in batches – and return the puree to the pot.
Stir in the milk and heat over medium high until everything is warmed through. Season to taste with salt and pepper and garnish with chopped scallions.