Heat oil in a skillet over medium-high heat. Add onion and cook for 5 minutes. Set aside.
In a large pot, melt butter over medium-low heat. Whisk in flour and cook for 4 minutes, whisking continuously.
Slowly add in milk, continuing to whisk constantly.
Add in chicken broth and bring to a simmer for 15-20 minutes or until thickened.
Add in broccoli, carrots, celery, and onion. Simmer for 15 minutes.
Stir in cheese and season with salt and pepper.