Heat a large heavy-bottomed Dutch oven over medium-high heat. Add the 2 Tablespoons of butter and heat for 30 seconds, then toss in the onions, celery, and carrots and cook for 2 minutes until the onions start to become translucent.
Add the broccoli florets, stir to combine. Sauté for an additional 3 minutes until vegetables become slightly tender and fragrant then toss in the garlic and cook an extra minute. Slide the Dutch oven off the heat and scoop out the vegetables into a large glass bowl, set aside.
Move the Dutch oven back over medium-high heat and melt the 1/4 cup of butter and then add the flour and nutmeg.
Cook the mixture for 5 minutes, stirring frequently with a flat-bottomed wooden spoon until it begins to brown.
After 5 minutes have passed, then begin to add the stock slowly. Stir continuously until the flour and stock are thoroughly combined, next pour in the milk and cream and add the vegetables back into the pot. Cover and reduce heat to low, simmer for 20 minutes, or until you're happy with the tenderness of the broccoli.
Stir in cheese and allow it to melt, stirring regularly.
Taste and adjust seasonings if needed. Then either serve as is, or mash it with a potato masher to break up the broccoli a bit, or transfer to a blender in two batches and puree completely. If you puree it in a blender, return it to the heat and allow to warm back up. Add a splash of broth if needed to thin the soup to your desired consistency.