Melt butter over low heat (do not brown the butter, and ensure that it is just melted and not boiling).
As soon as it is 90% melted, take the pot off the heat and add flour. Combine the two together with a wooden spoon and put it back on the stove.
Cook the flour-butter mixture for a few minutes on low heat while stirring it (it will look like a big lump but it will loosen up later, and ensure that is not too brown).
Start adding in the warm milk a little bit at a time and whisk on a medium heat (if the milk is added too quickly lumps will form).
Once all the milk has been added and the sauce thickens, add the seasonings and cook for another few minutes on a low heat until the mixture sticks to the back of a teaspoon.
Take off the heat and place a piece of baking paper on the surface of the sauce to prevent a skin from forming as it cools down.
Notes
Don’t brown the roux as it will cause the béchamel to turn golden brown instead of staying a light color.
Warm up the milk and add the milk in batches as this will prevent lumps and remember to whisk it well!
Béchamel sauce will form a skin on the surface if it does not used right away so remember to press plastic wrap or parchment paper directly on the surface of the sauce to prevent a skin from forming as it cools. Alternatively, you can also store it in an airtight container in the fridge of freezer.
Use a wide, high-sided skillet as it makes everything cook faster. Alternatively, use a 5 qt enamel-coated braising dish instead.