Chop the onion, slice the celery, and cut the broccoli into small florets. Measure everything before you turn on the stove. Shred the cheddar fresh from a block, since this step makes a real difference later.
Melt 1 tablespoon of butter in a skillet over medium-high heat. Add the chopped onion and cook until it turns translucent, which takes about 5 minutes. Set the skillet aside off the heat.
In a large saucepan, whisk the 1/4 cup of melted butter with the flour over medium-low heat. Stir constantly until the flour no longer smells or feels grainy, about 3 to 4 minutes. If it starts to darken too fast, whisk in a spoonful or two of milk.
Pour in the remaining milk a little at a time while whisking. Adding it slowly keeps the mixture smooth and lump-free. Keep whisking until it looks glossy and well blended.
Pour in the chicken stock and bring the mixture to a gentle simmer. Let it cook for about 20 minutes, stirring now and then. The soup will thicken and coat the back of a spoon.
Stir in the broccoli, carrots, celery, and the cooked onion. Simmer until the vegetables are fork-tender. Taste a piece of broccoli to check that it is soft but not mushy.
Turn the heat down low and add the shredded cheddar a handful at a time. Stir until each addition melts before adding more. Keep the heat gentle so the cheese stays smooth.
Add salt and pepper, then taste and adjust. Ladle the soup into warm bowls right away. Enjoy it while it is thick, hot, and gooey.