In a dutch oven or large pot, drizzle the olive oil and bring to a medium heat. Add in the shallot and garlic and sauté until fragrant, approximately 2 minutes.
To make the roux, add in the butter and let it melt. Sprinkle in the flour and whisk to combine, whisking until it becomes a thicker consistency.
Pour in the cream and vegetable stock, then add in the broccoli, celery, and carrot. Mix to combine, then cover and let simmer on a low flame for 25-30 minutes.
Uncover the dutch oven or pot and fold in the cheese, letting the cheese melt into the soup. Add a little more cheese if desired, then let simmer for an additional 5-10 minutes before serving.