Croutons,, store-bought or homemade, for serving (optional)
Method
Melt the butter in a large pot or Dutch oven over medium heat. Add the onion and carrot and cook, stirring, until softened, about 5 minutes. Add the garlic and cook, stirring until fragrant, 1 to 2 minutes. Sprinkle in the flour, salt, mustard powder, and nutmeg. Cook, whisking, until a paste forms, 1 to 2 minutes. Slowly whisk in the milk and cook, whisking continuously, until thick enough to coat the back of a spoon, about 5 minutes. Remove from the heat, then add the stock. Use an immersion blender to blend the liquid directly in the pot. (Alternatively, transfer the liquid to the base of a blender, let cool briefly, and blend until smooth. Then return it to the pot.)
Stir in the broccoli. Return the pot over medium-low heat and simmer until the broccoli is tender, about 20 minutes. Stir in the Parmesan and half of the cheddar until melted, then add the remaining cheddar and stir until the soup is creamy. Taste and season with salt and pepper.