Chop the onions, garlic, broccoli, and carrots. Set aside.
In a large pot or dutch oven with a lid, melt the butter over medium heat.
Add the onion and broccoli stems and cook until the onions have softened, about 3-4 minutes.
Add in garlic and cook for a further minute.
Whisk in the chickpea flour and stir until combined.
Pour in the vegetable stock and dairy free milk, stir to combine.
Add in the seasoning - salt, pepper, smoke paprika, mustard powder, dried thyme, cayenne, and nutmeg. Stir together until all the seasoning are mixed in well. Let cook for 5 minutes.
Reduce heat to simmer and add in the broccoli and carrots. Stir well and then push down the broccoli into the liquid.
Cover the pot and let simmer for another 20 minutes, until broccoli is tender.
Mix in cheeses and stir until just combined. Taste test and add in extra salt and/or pepper, if desired.
If you desire the soup to be thinner, add more dairy free milk. If you desire the soup to be thicker, add 3-4 cups of the soup to a blender and blend. Then return and stir together. Remove from heat and serve.
Optional: Serve in bread bowls and garnish with roasted broccoli, more vegan cheese, and even vegan bacon bites or crispy vegan bacon pieces.