In a large pot, melt 2 tablespoons of the butter over medium heat.
Add the onion to the pan and cook until tender and translucent, about 5-7 minutes.
Add the carrots and cook 2-4 minutes.
Stir in broccoli, chicken broth, onion salt, and garlic powder.
Bring the mixture to a boil, then reduce to a simmer.
In a medium saucepan, melt the remaining butter. Add flour and cook for 1-2 until golden brown, whisking constantly so the flour does not burn.
Whisk in the milk and cook until the mixture thickens and bubbles, about 5 minutes. The mixture should be thick enough to coat the back of a spoon.
Then, add in the cheese. Whisk mixture until the cheese has completely melted. Add cheese mixture to the pot with the broth in it.
Simmer until soup is warm and broccoli is tender. Add salt and pepper to taste.