In a large pot, melt the unsalted butter over medium heat. Once melted, add the finely chopped onion and diced carrots. Sauté for about 5 minutes, until the vegetables are tender and the onion is translucent.
Incorporate the minced garlic and stir for an additional minute until fragrant, being careful not to let it burn.
Sprinkle the all-purpose flour over the sautéed vegetables, stirring constantly for about 2-3 minutes until the mixture thickens and forms a roux.
Gradually whisk in the vegetable broth, ensuring a smooth mixture without lumps. Bring the soup to a gentle simmer, stirring frequently to avoid sticking.
Add the fresh broccoli florets to the pot and cook for about 10-12 minutes, or until the broccoli is tender but still vibrant green.
Lower the heat and mix in the whole milk, Dijon mustard, and shredded cheddar cheese. Stir continuously until the cheese is completely melted and the soup is creamy and rich.
Season the soup with salt, pepper, and a pinch of red pepper flakes for an optional kick of heat. Taste and adjust seasoning as needed.
For a silkier texture, use an immersion blender to puree a portion of the soup for a smoother consistency, or carefully transfer the soup in batches to a blender and pulse until you reach your desired texture (optional).
Once your soup is ready, ladle it into warmed bowls and finish it off with a sprinkle of freshly chopped chives for a burst of color and flavor.
Notes
For a silkier texture, consider pureeing part of the soup.