In a large stockpot melt 2 tablespoons of unsalted butter. Add the onions, carrots, and celery, sauté until tender. Once done scoop out and set aside.
In the same stockpot melt an additional 2 tablespoons of unsalted butter over medium heat. Add ¼ cup flour and stir constantly until the flour is well incorporated with the butter, then slowly whisk in the half & half, mixing until smooth. Add the chicken stock and chicken bouillon cube, stir until the bouillon cube has dissolved. Reduce heat to low and simmer uncovered for 10 minutes to thicken.
Now add to the thickened broth; chopped broccoli, sautéed onion, carrots, and celery, garlic powder, sweet paprika, salt, pepper, nutmeg, and mix well.
Reduce heat to low, simmer uncovered for 30 minutes, or until broccoli is tender. Remove soup from heat and prepare to purée if desired. If you do not want to purée, then add the cheddar cheese, stirring until melted and heated throughout. Adjust salt and pepper, to taste.
To purée; in small batches carefully ladle soup into a blender, pulse until smooth. Repeat until all the soup is puréed. Ladle puréed soup back into the stockpot, turn heat to medium-low, add the cheddar cheese, stirring until melted and heated throughout. Adjust salt and pepper, to taste.