Sauté Vegetables: In a large pot, melt butter over medium heat. Add diced onions, garlic, and carrots. Cook until softened, about 5 minutes.
Make the Roux: Stir in flour and cook for 2-3 minutes, until the flour is slightly browned. This creates the base for your soup.
Add Liquid: Gradually whisk in vegetable broth and milk, ensuring there are no lumps. Bring to a simmer.
Cook Broccoli: Add the broccoli florets to the simmering liquid. Let them cook until tender, about 10 minutes.
Blend (Optional): For a smooth texture, use an immersion blender to blend the soup until creamy. If you prefer a chunkier soup, skip this step.
Add Cheese: Stir in the shredded cheddar cheese, a handful at a time, allowing it to melt completely before adding more. Season with salt, pepper, and nutmeg to taste.
Serve: Once the soup is creamy and smooth, ladle it into bowls. Garnish with extra cheese, a drizzle of cream, or fresh herbs as desired.