- 3 tablespoons unsalted butter
- 1/2 cup all-purpose flour
- 2 teaspoons vegetable oil
- 1/4 cup minced yellow onion
- 5 cups milk, warm
- Salt, as needed
- Ground black or white pepper, as needed
- Freshly grated nutmeg, as needed (optional)
- In a saucepan over medium heat, heat the oil and butter. Add the onion and cook, stirring frequently, until the onions are soft and translucent, about 6 minutes (see note).
- Add the flour, stirring to combine, and cook until light brown to form a white roux, about 2 minutes.
- Gradually add the milk to the pan, stirring or whisking to work out any lumps. Bring the mixture to a full boil, then reduce the heat to low to establish a simmer. Simmer until the sauce has thickened and the starchy feel and taste of the flour have cooked away, about 30 minutes. Be sure to stir frequently and skim as necessary.
- Season the sauce with salt, white pepper, and nutmeg, if using, and strain through a fine-mesh sieve.
- Return the sauce to the pan and bring to a simmer over low heat. Adjust the seasoning with salt and pepper if necessary. Use immediately or refrigerate for later use.
You can also make the roux first and set it aside for later. In that case, simply reverse Steps 1 and 2, and add the milk once the roux is hot.
Cheddar Cheese Sauce: After straining, return to the pan and stir in 4 oz grated sharp Cheddar as the sauce simmers over low heat.
Cream Sauce: Add 1/2 cup heated heavy cream to the finished sauce and simmer over low heat for an additional 4 to 5 minutes.
Mornay Sauce: After straining, return to the pan and add 2 oz each grated Gruyère and Parmesan. Finish with up to 4 tablespoons of butter if desired.