Melt 1 butter in a large pot over medium-high heat. Add onion, carrots and celery and saute 5 minutes.
Add chicken broth and cauliflower, season with salt and pepper to taste and bring to a boil. Reduce heat to medium-low then cover and simmer until veggies are tender, about 15 minutes.
Meanwhile melt remaining butter in a medium saucepan over medium heat. Add flour and cook and whisk constantly 1 minute.
While whisking slowly pour milk in flour mixture. Bring just to a light boil stirring constantly, remove from heat and stir in cheese.
Once veggies are tender pour milk mixture into soup. Serve warm topping each serving with bacon, green onions and more cheese if desired.