Preheat oven to 400°F.
Cut the broccoli into large bite-sized pieces and trim off the bottom of the stalk and place on a baking sheet. Cut top off garlic bulb and nestle into garlic.
Drizzle with olive oil and season with salt and pepper. Roast until the heads darken in places and the stalks are fork tender, 30-35 minutes. You may need to wrap the garlic in aluminum foil and cook for an additional 10-15 minutes or until garlic is tender.
Melt the butter in a large pot or Dutch oven over medium heat. Saute the onion until fragrant (about 3 minutes). Whisk in the flour and cook for a few minutes or until golden brown.
Reduce heat to medium-low and slowly pour in the chicken stock and half-and-half, stirring well to combine and dissolve the flour into the liquid. Season with salt and pepper, cayenne, mustard and bouillon. Mix well and allow to cook and thicken for about 5 minutes, while stirring occasionally.
Add in the broccoli, carrots, and pulp from garlic. Gently simmer for another 10 minutes, until broccoli falls apart tender. Reduce heat and mix in cheese and stir until just combined.
Transfer 1-2 cups mixture to a blender. Blend to consistency and add back to the pot. Taste test and add in extra salt and/or pepper, if desired.
