Preheat your oven to 350°F (175°C). Carefully slice off the top of each sourdough loaf and hollow out the center, leaving about 1 inch of bread around the sides. Brush the inside of the hollowed-out bowls with olive oil. Place the bread bowls and their tops on a baking sheet and bake for about 10 minutes, or until slightly crisp. Remove from the oven and set aside.
In a large pot, melt the butter over medium heat. Add the diced onion and cook until softened, which should take about 3-4 minutes. Stir in the minced garlic and cook for another minute until fragrant.
Sprinkle the flour over the onions and garlic, stirring to combine. Cook for 1-2 minutes to eliminate the raw flour taste.
Gradually whisk in the vegetable broth, milk, and water, stirring constantly to prevent lumps.
Add the chopped broccoli and shredded carrot to the pot. Simmer for 10-12 minutes, or until the broccoli is tender.
Reduce the heat to low. Continue to cook for 2-3 minutes, allowing the soup to begin thickening.
Gradually stir in the shredded cheddar cheese until it has completely melted. If desired, stir in a pinch of nutmeg for added warmth. Season the soup with salt and pepper to taste.
Ladle the hot broccoli cheddar soup into the prepared sourdough bread bowls. Garnish with extra shredded cheddar or fresh herbs, if you like. Serve immediately with the toasted bread tops on the side for dipping.