In a large pot, melt butter over medium heat.
Add onion and cook until soft (~3-4 minutes).
Stir in garlic and cook for 30 seconds until fragrant.
Sprinkle flour over the onions and whisk continuously for 1-2 minutes to cook off the raw flour taste.
Slowly pour in broth while whisking to avoid lumps.
Add milk, stirring until smooth.
Add broccoli florets and grated carrot.
Simmer for 10-12 minutes until broccoli is tender.
For a smoother texture, use an immersion blender to partially blend the soup (leave some chunks for texture).
Reduce heat to low and stir in cheddar cheese until fully melted.
Season with salt, pepper, nutmeg, and mustard powder.
Ladle into bowls and garnish with extra cheese or a drizzle of cream.
Enjoy hot with crusty bread or breadsticks!