100g (4 oz) butter
50g (2 oz) flour
1 liter (1 quart) milk
Step 1: Melt a stick of butter (100g, 4 oz.) in a saucepan, then add six spoonfuls (50g, 2 oz.) of flour and simmer the resulting roux over medium low heat for a few minutes, taking care not to allow the roux to darken, and remove from the heat.
Step 2: In a separate saucepan, bring a liter (one quart) of milk just barely to a boil.
Step 3: Immediately pour the milk into the pan with the roux. Taking a whisk, whip the roux and milk together vigorously, then put the saucepan back on the heat and bring it up to the boil. It will thicken considerably when it gets to the boiling point.
Step 4: As soon as the sauce begins to boil, lower the heat to low and simmer for about 5-10 minutes, seasoning well with salt and a bit of nutmeg to taste.
Alternative method: I find the above method is practically fool-proof. But if you prefer not to dirty an extra saucepan and are fairly skilled in the kitchen, could can skip Step 2 and as for Step 3, add cold milk, not all at once, but in a thin stream, as you whisk the roux vigorously. This, in fact, is the method you will find specified in most Italian recipe books. While it is less trouble, you do need a fair degree of skill (and a strong arm) to avoid lumps.
The main tricks to making a good béchamel include, first of all, cooking the roux well, or else your sauce will wind up tasting like raw flour—not very nice—without darkening the roux, which will give it an unpleasant burnt taste. (There are recipes where you want a brown roux, but this is not one of them.) So regulate the heat carefully; I also often add a bit of oil (not olive oil) which helps the butter not burning.
Second, use enough butter to give the end result a nice color and flavor. The roux should not clump up but remain a rather liquid paste that covers the bottom of the saucepan. If you find your roux is too thick, just add more butter or oil.
Third, and perhaps most important of all, avoid lumps, which can occur if the roux does not fully amalgamate with the milk. Both methods indicated above are designed to avoid a lumpy sauce, but the alternative method does require some skill and a strong hand to keep that whisk beating as you pour in the milk. Keeping your roux rather liquid helps as well. (If you do wind up with lumps, all is not lost: you can always pass the sauce through a fine mesh sieve or mix it in a blender.)
Finally, allowing the béchamel to simmer for a few minutes over gentle heat develops its flavor, but be careful not to allow it to thicken too much. As mentioned, for most Italian recipes you want a rather loose béchamel. Remember that the sauce will cook and reduce further in the oven, and will be absorbed by the pasta, so you want a loose consistency, just a bit thicker than heavy cream. If the sauce thickens too much, whisk in a bit more milk. The sauce will also thicken up as it cools, so bring it back up to heat and/or add more milk to thin it out before using it.