Melt butter in a stock pot over medium high heat. Once butter has melted, add in onions and saute for 3-4 minutes and then add in garlic for the last 30 seconds.
Whisk in flour and stir until flour mixture begins to turn a golden color. Slowly add in half and half, whisk until smooth, and then slowly add in chicken broth, and seasonings.
Reduce heat to medium low and simmer mixture until thickened -about 9-10 minutes.
Add in broccoli, carrots, and celery. Continue to cook at a simmer until vegetables reach desired tenderness, about 20 minutes or so. When vegetables have reached desired tenderness, reduce heat to low and add in cheese, cook an additional 3-4 minutes. Serve.
Notes
To speed cooking time, steam broccoli before adding it into the soup.