Melt butter in large pot over medium; sauté onion about 5 minutes until soft, then garlic 30 seconds.
Sprinkle in flour; stir constantly 1–2 minutes to form roux and remove raw taste.
Gradually whisk in broth, then milk; gently simmer about 5 minutes until slightly thickened.
Cook broccoli 6–8 minutes until tender. Partly immersion-blend for creaminess, keeping some florets whole.
Reduce to low; melt cheddar and Dijon into soup until smooth. Season with salt, pepper, and optional nutmeg.
Serve hot with optional bacon or croutons.