In a large pot over medium heat, melt the butter. Add chopped onion and cook until softened, about 5 minutes.
Gradually whisk in the flour and cook for 2 minutes.
Pour in chicken stock, season with salt and pepper, and stir well.
Add chopped celery and broccoli. Bring the mixture to a boil, then reduce to medium-low and simmer for about 15 minutes.
Pour in the milk, stirring until the soup thickens slightly (2-3 minutes).
Remove from heat and add shredded cheddar in small handfuls, stirring until fully melted.
Garnish with extra cheddar and serve with toasted baguette slices.
