In a large pot, melt the butter over medium heat. Add the diced onion and cook until softened and translucent.
Stir in the garlic and cook for about 30 seconds, until fragrant.
Sprinkle in the flour and stir well to form a roux. Cook for 1–2 minutes, stirring constantly, until no dry flour remains.
Slowly whisk in the chicken broth, followed by the milk, until smooth.
Add the chopped broccoli and shredded carrots. Simmer uncovered over medium-low heat for 15 minutes, or until the vegetables are tender.
Stir in the onion powder, paprika, and cayenne pepper.
Reduce the heat to low and gradually add the shredded cheddar cheese, stirring until fully melted and smooth.
Taste and adjust seasoning if needed. Serve hot.