Melt butter in a large pot over medium heat.
Add chopped onion and garlic; sauté until soft.
Stir in flour to create a roux, cooking for 2 minutes.
Gradually whisk in vegetable broth and milk.
Bring the mixture to a simmer, stirring constantly.
Add broccoli florets and cook until tender, about 10 minutes.
Use an immersion blender to puree the soup until smooth.
Stir in shredded cheddar cheese until melted.
Season with salt, pepper, and nutmeg if desired.
Serve hot, garnished with extra cheese or broccoli florets.