In a medium pot, melt the 1 tbsp of butter over medium heat. Add chopped onion and cook until softened and translucent, about 5 minutes. Set aside.
Add the ¼ cup of butter to the pot over medium heat, allow it to melt fully and then whisk in the flour to form a roux. Cook the roux for 1-2 minutes, stirring constantly, to remove the raw flour taste. Whisk well to ensure there are no flour clumps.
Slowly pour in the milk and chicken stock, whisking to prevent lumps. Bring to a gentle simmer. Cook until that mixture thickens up, about 15 minutes.
Stir in the diced potatoes and sauteed onions. Cook for 5 minutes.
Stir in the celery, carrots, and broccoli. Add 1/2 cup of water. Simmer uncovered until the potatoes are fork-tender and the broccoli is bright green but still holds its shape, about 10-15 minutes. Stir occasionally so nothing welds itself to the bottom of the pot.
Reduce the heat to low. Gradually stir in the shredded cheddar until melted and smooth.
Taste, then add salt and black pepper as needed. Serve and enjoy!