In a large stockpot or dutch oven, heat olive oil over medium heat. Add onions, carrots, celery and garlic. Cook until vegetables are tender (about 5 minutes).
Add chicken broth and bring to a boil. Reduce heat to low and stir in milk.
Stir in in broccoli and cauliflower.
In a small saucepan, melt the butter. Slowly stir in the flour until it thickens.
Add butter/flour mixture to stockpot, stir well.
Add the cheddar cheese, cream cheese, parsley, black pepper and salt to the stockpot and stir until well combined.
If desired, use an immersion blender to blend the soup.