Pour the broth into a pot and bring to a boil. Meanwhile, start heating up the milk.
Add the celery, carrots and onion to the boiling broth. Mix together the flour, salt, and pepper, then slowly add to the warmed milk. Add the milk mixture and butter to the broth and veggies.
Boil for 10 minutes, then strain out the vegetables by pouring through a sieve, or if the vegetables are large enough, a colander may be used.
Notes - There's no way I'm going to toss all the veggies out of a soup, so I just stick an immersion blender into the pot when it's done cooking and puree everything. No food wasted and the Ws who prefer smooth soups over chunky ones are happy.
I often chop up the leafy parts and hearts of celery stalks, then toss them in a bag I keep in the freezer. That bag is where I get the celery for this recipe. I also throw in some garlic powder, onion powder, and Italian seasoning. This recipe is great on it's own, but is not thick like the cream of celery soups some people use in casseroles and other recipes. So, don't use it for that purpose. Feel free to use vegetable broth if you'd prefer a vegetarian soup.