Melt butter over medium heat. Once butter melts, sprinkle flour over the butter and cook for 3-5 minutes until a roux forms. You want a light roux, so don't let it brown. It should have a nutty smell. See How to Make a Roux for an in-depth guide. Reduce the heat to low - this is important, don't skip this! - and slowly add in your milk. Whisk well.
Whisk occasionally as your sauce thickens. When it's ready, it will be thick enough to cling to your whisk or the back of your spoon. This should take about 20 minutes.Sprinkle with salt to taste, and your sauce is ready!
Make sure to turn down the heat when adding your milk, and pour the milk in SLOWLY! If you add it in too quickly or over too high of a heat, it will curdle.
Don't let your roux brown too much before adding the milk. You want a light roux so you have a light, creamy sauce. If the roux is too dark, you'll have too thick of a sauce.
When the roux is ready for you to add the milk, it will have a slightly nutty smell. You'll know the flour has cooked enough at this point, so you won't have a pasty taste.
You'll know your béchamel has thickened enough when it clings to the whisk or the back of your spoon.You want a nice and thick sauce!