In a large pot, melt butter over medium heat. Add onion and cook until softened, about 5 minutes. Add garlic and cook for 1 minute more.
Sprinkle flour over the onion mixture and stir constantly for 1–2 minutes to form a roux.
Gradually whisk in broth and milk until smooth. Bring to a simmer, stirring frequently.
Add broccoli and carrot. Reduce heat to low, cover, and simmer for 15–20 minutes, or until vegetables are tender.
Stir in cheddar cheese until melted and smooth. Season with salt, pepper, and nutmeg if using.
For a smoother texture, use an immersion blender to partially blend the soup, leaving some chunks of broccoli.
Serve hot, optionally garnished with extra cheese or croutons.
Notes
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove, adding a splash of milk if needed to restore creaminess.