Cut the broccoli into florets. If you want, you can also dice up the tender parts of the stem. Set aside.
In a large dutch oven, melt the butter over medium-high heat. Add the carrots and onion, sautéing until the onion is translucent. Add the garlic and sauté one more minute.
Sprinkle in the flour, stirring to combine. Cook for one minute, then slowly stream in the stock and milk. Bring to a boil, stirring constantly, then reduce heat to low. Add in the broccoli and simmer for 20-30 minutes, until broccoli is tender.
Using an immersion blender (or carefully transferring the soup to a regular blender, about 1/3 at a time), blend soup until it reaches your desired consistency. Add salt, plenty of freshly ground pepper and the cheese to the blended soup, stirring over low heat until cheese is melted. Serve warm, preferably alongside some freshly baked bread.