Melt the unsalted butter in a medium saucepan over medium heat until fully melted and just bubbling (about 1–2 minutes), without allowing it to brown.
Sprinkle in the all-purpose flour and whisk constantly for about 1–2 minutes to form a pale, bubbly roux.
Slowly pour in the cold whole milk in a thin stream, whisking continuously until the mixture is smooth and lump-free.
Increase heat to medium-high and whisk constantly, bringing the sauce to a gentle simmer. Continue whisking until it thickens enough to coat the back of a spoon, about 5–7 minutes.
Remove the saucepan from heat and stir in the salt, black pepper, and optional ground nutmeg. Taste and adjust seasoning as needed.