Preheat your oven to 375℉.
Place the broccoli florets on a rimmed baking sheet.
Sprinkle the broccoli with the olive oil and toss with your hands. Spread the florets on the pan so that they are in a single layer.
Bake the broccoli for about 20 minutes until they are just starting to turn brown.
While the broccoli is roasting, melt the butter in a large soup pot. Add the onion, carrots and celery and sauté until the vegetables are soft (about 5 minutes).
Add the garlic and continue to sauté for another 2 minutes.
Sprinkle the flour on the vegetables and continue to stir mixing them with the flour. Let this mixture cook for about 2 minutes while stirring.
Over medium heat, add the milk about 1/2 cup at a time and stirring after each addition to combine. Continue until all the milk has been added.
Add the broth and stir until combined.
Add the broccoli and simmer the soup for about 10 minutes stirring occasionally.
Add the cheese and stir until completely melted.
Season with salt and pepper to taste.
If desired garnish with grated cheese.