In a large dutch oven or pot, add butter and place over medium high heat. Once butter is melted, add in garlic, onion, and carrot. Saute for 5 minute or until veggies are tender.
Stir in the flour to coat the veggies, then slowly stir in the broth, stirring. Next add in milk, chopped cauliflower and broccoli, salt, black pepper, garlic powder and cayenne. Bring to a simmer and cook for 10-15 minutes until broccoli and cauliflower are tender.
Stir in cheese and reduce heat to low.
Add about 1/2 of the soup to a blender (roughly 3 cups) and blend until smooth. You can blend more or less soup, depending on how creamy or chunky you like it. Be very careful while you blend the soup.
Once done blending, return blended soup to the pot and stir to combine. Taste and adjust seasonings as necessary, such as adding additional salt and pepper. Serve immediately with extra shredded cheddar on top and chopped bacon, if desired.
*You can also use 2%, skim, unsweetened coconut milk (from the can) or unsweetened almond milk. I might recommend changing the broth to milk ratio because you’ll be using a less rich milk. I would suggest using 1 1/2 cups milk and 2 1/2 cups broth instead. I can’t guarantee it would be as delicious though; using a more full fat milk is best!