In a large pot or Dutch oven set over medium heat, add 1 tablespoon of butter. When the butter has melted, add the onion and leek, saute for 3 minutes. Add garlic and saute for a minute longer.
Pour in the chicken broth and sprinkle in salt, garlic powder, black pepper, paprika, and carrots. Bring to a boil.
Meanwhile, in a medium saucepan set over medium heat, add the remaining 4 tablespoons of butter. Whisk in the flour and cook for about a minute. Slowly pour in the milk, whisking vigorously as you add the milk little by little. Whisk until smooth. Constantly whisk as the mixture comes to a gentle boil. When it begins to thicken add the half & half (or cream) and simmer for an additional 3-4 minutes or until very thick. Remove from heat and pour into the soup, whisk to combine.
Add the broccoli and cook for 6-8 minutes, then remove from heat. Gradually add the cheddar, stir until the soup is nice and smooth. Let sit for 10 minutes before serving. Garnish with additional grated cheese, if desired.