Melt the butter in a heavy bottom Dutch oven over medium heat. Add the onion, and carrot and sauté until soft. Add garlic and cook for another 30 seconds until fragrant.
Sprinkle in the flour and whisk constantly for about 2 minutes.
Slowly pour in the broth while whisking to avoid lumps. Then add the heavy cream. Continue whisking until smooth.
Bring to a gentle simmer (not a boil) and stir frequently. Let it thicken for about 5 minutes.
Stir in the broccoli, paprika, nutmeg, and Dijon (if using). Season with salt and pepper.
Cover and simmer on low heat for 15–20 minutes, until broccoli is tender.
Turn off the heat. For a smoother texture, use an immersion blender to partially blend the soup or transfer half to a blender, puree, and return to the pot. If you prefer it chunky, skip this step! Take caution when blending, the soup will be very hot and can splatter!
Return back to low heat. Slowly stir in the shredded cheddar in batches until melted and smooth.
Add more salt or pepper to taste. If the soup is too thick, thin it out with a splash of broth or milk. Serve with baguette, croutons, or crackers.