Melt butter in a large pot over medium heat. Stir in onion and saute until tender, about 3 to 4 minutes.
Whisk in flour and continue to stir until the mixture turns golden brown, this should take about 5 minutes.
Slowly whisk in half-and-half to onion mixture, stirring until the mixture is smooth. Add chicken broth, salt and pepper.
Reduce heat to low to medium heat and simmer until thickened. This will take about 10 minutes.
Add broccoli, carrots, and celery. Simmer for an additional 15-20 minutes, or until the veggies are tender, but still have a bit of bite to them.
Reduce heat to low. Add cheddar cheese and Velveeta to soup and cook, stirring occasionally, until the cheese melts and the soup is smooth and creamy, about 10 minutes.
Give the soup a taste and add additional salt and pepper if necessary.
If you prefer a thinner soup, you can add a bit more chicken broth until you reach the desired consistency.