Dice the onion and chop the broccoli into very small pieces. Peel and slice the carrots.
Add the butter and onion to a large soup pot and sauté over medium until the onions are soft and translucent. Add the flour and sauté for 2 minutes more, or until the flour is coating the bottom of the pot and is a light golden brown color.
Pour in chicken broth and whisk to dissolve the flour. Turn the heat up to medium-high and, while stirring often, bring the broth to a simmer. When it reaches a simmer it will thicken to a gravy consistency.
Turn the heat down to medium and whisk in the whole milk, smoked paprika, garlic powder, black pepper, and cayenne pepper. Allow the broth to come back to a simmer.
Add the chopped broccoli and carrots and continue to simmer the vegetables, stirring often, for 15 minutes or until the carrots are tender.
Test a piece of carrot or broccoli to make sure it's to your desired tenderness. If not, simmer a bit longer.
Turn the heat to medium-low and stir the shredded cheese into the soup, one handful at a time, until it is fully melted.
Taste the soup and add salt if needed (this will depend on the salt content of your broth—I did not add any).