Preheat the oven to 375°F (190°C) and line a baking sheet with parchment.
Cut the bread into ¾-inch cubes.
Combine olive oil, melted butter, garlic, parsley, garlic powder, and salt.
Toss the bread cubes with the garlic butter mixture and optional Parmesan.
Arrange the bread cubes in a single layer on the baking sheet.
Bake for 12–15 minutes, turning halfway through, until golden and crisp.
Dice the onion, grate the carrots, mince the garlic, and chop the broccoli.
Melt 4 tablespoons butter in a large Dutch oven over medium heat.
Add the onion and cook for 3–4 minutes.
Stir in the grated carrots and cook for 2–3 minutes.
Add the minced garlic and cook for 30–60 seconds.
Sprinkle flour over the vegetables and stir for 1–2 minutes.
Gradually whisk in the vegetable broth.
Add the milk and half-and-half, stirring until smooth.
Stir in the chopped broccoli.
Add Dijon mustard, smoked paprika, nutmeg, black pepper, and salt.
Simmer gently for 12–15 minutes until the broccoli is tender.
Blend approximately one-third to one-half of the soup for a creamier texture, leaving some broccoli pieces intact.
Reduce the heat to low.
Add freshly grated cheddar gradually, stirring until melted.
Adjust thickness with additional milk or broth if needed.
Taste and adjust the seasonings.
Ladle the soup into bowls.
Top with crispy garlic bread croutons.
Garnish with extra cheddar and parsley, then serve immediately.