Heat the milk in a small saucepan with the onion, peppercorns and celery until bubbles appear round the edge. Remove from the heat, cover and stand for 10 minutes to allow the flavours to infuse, then strain into a jug.
Wash out the saucepan, melt the butter in it, stir in the flour and cook, stirring, over low heat for 2 minutes. Remove from the heat, cool a little and stir in the warm milk, a little at a time.
Return the saucepan to medium heat and stir constantly until the sauce boils. Lower the heat and cook, stirring frequently, on very low heat for 5 minutes.
Season to taste with salt, pepper and nutmeg.
This recipe makes a coating sauce, the right thickness for covering food in the dish in which it is to be served. For a flowing sauce to be served separately, use 1 tablespoon of flour per cup of milk. For a very thick sauce or panada (used to bind croquettes or as a soufflé base), use 3 tablespoons of flour per cup of milk.