Preheat the oven to 350°F (175°C).
Slice off the top of each bread loaf and carefully hollow out the center, leaving about 1 inch of bread around the sides. Brush the inside of the bread bowls with olive oil.
Place the hollowed-out bread bowls and tops on a baking sheet, then bake in the oven for about 10 minutes to slightly crisp the inside. Remove and set aside.
In a large pot, melt the butter over medium heat. Add the diced onion and cook until softened, about 3-4 minutes. Add the garlic and cook for 1 more minute until fragrant.
Sprinkle the flour over the onions and garlic, stirring to combine. Cook for 1-2 minutes to remove the raw flour taste.
Gradually whisk in the vegetable broth, milk and water, stirring constantly to avoid lumps.
Add the chopped broccoli and shredded carrot. Simmer for 10-12 minutes, until the broccoli is tender.
Reduce the heat to low. Cook for 2-3 minutes until the soup starts to thicken.
Gradually stir in the shredded cheddar cheese, allowing it to melt completely. Stir in a pinch of nutmeg (if using) for extra warmth.
Season with salt and pepper to taste.
Ladle the hot broccoli cheddar soup into the prepared bread bowls. Garnish with extra shredded cheddar or fresh herbs.
Serve the soup-filled bread bowls with the bread tops on the side for dipping.