Warm the Milk: Microwave the milk for about 45 seconds until warm. This prevents curdling and helps it blend better when added to the soup.
Melt the Butter: Melt the butter in a saucepan over medium heat. Let it foam slightly to cook off the water in the butter—this takes about 3 minutes.
Make a Roux: Whisk in the flour gradually while stirring non-stop. Keep whisking for 3 to 5 minutes, until it looks like wet sand. This step gets rid of the raw flour taste.
Add Chicken Broth in Stages: Take the pan off the heat. Add ⅓ of the chicken broth and whisk until fully combined. Repeat with another ⅓, then add the final ⅓. Whisk until completely smooth.
Mix in Milk and Seasoning: Add the warm milk, bouillon (if using), celery salt, onion powder, garlic powder, salt, and pepper. Whisk until everything is well combined.
Thicken the Soup: Return the pan to the heat. Stir constantly over medium-high heat until the soup thickens to a very creamy consistency, just before it boils. Remove from heat as soon as it thickens.
Optional Smooth Finish: For an ultra-smooth texture (like the canned version), strain the soup through a fine mesh strainer.