Place large pot over medium heat and melt butter.
Add onion and sweat for about 5 minutes.
Whisk in flour and cook for about 2 minutes.
Stir in chicken stock and season generously with salt and pepper.
Add celery and broccoli, bring to a boil, then reduce heat to medium-low.
Let simmer until vegetables are tender, about 15 minutes.
Stir in milk and simmer 2 to 3 minutes until soup thickens slightly but remains soupy.
Remove pot from heat and stir in cheddar in small handfuls, allowing cheese to melt before adding more.
Season with salt and pepper.
Top with additional shredded cheddar and serve warm.