Cream Cheese Frosting Recipe That Actually Works Every Time

by The Gravy Guy | American, Desserts, Dips & Condiments, Sauces

This is the recipe my sous chefs used to steal from my station. Béchamel Sauce — the French white sauce that every serious cook masters before they graduate to anything more complex — is one of the five French mother sauces and the foundation of an enormous range of dishes: mac and cheese, lasagna, moussaka, gratins, crêpes, soufflés, and more. When it’s made correctly, béchamel is silky, mild, subtly nutty from the cooked roux, and so versatile that once you master it, you’ll find yourself reaching for it constantly. When it’s made wrong, it’s lumpy, pasty, or tasteless. The technique is the difference, and the technique is learnable in one careful attempt.

Why This Béchamel Works

  • Equal parts butter and flour: The 1:1 ratio creates a roux that thickens reliably without excess flour (which tastes pasty) or excess butter (which makes the sauce greasy).
  • Cooking the roux properly: 2–3 minutes of cooking the butter-flour mixture over medium heat eliminates the raw flour taste. The roux should smell slightly nutty but not toasted.
  • Warm milk, not cold: Cold milk added to a hot roux creates lumps as the starch granules in the flour cook and contract unevenly. Warm milk incorporates smoothly because the temperature differential is minimal.
  • Adding milk gradually: The first pour of milk builds the emulsion. Once incorporated, the subsequent additions blend seamlessly. Pouring all the milk at once produces a paste you then have to rescue.
  • Infused milk: Heating milk with a bay leaf, onion, and whole peppercorns before using creates an infused milk base that adds depth to a sauce that is otherwise mild. A small step with an outsized impact.

Ingredients

Béchamel Sauce (makes about 2 cups)

  • 2 tbsp unsalted butter
  • 2 tbsp all-purpose flour
  • 2 cups whole milk
  • ¼ small onion, peeled
  • 1 bay leaf
  • 5 whole peppercorns
  • Pinch of ground nutmeg
  • Salt and white pepper to taste

Instructions

Step 1: Infuse the Milk

Combine milk, onion quarter, bay leaf, and peppercorns in a small saucepan. Heat over medium-low until the milk is steaming but not boiling — tiny bubbles at the edges. Remove from heat and let steep 10 minutes. Strain through a fine mesh strainer and discard the aromatics. Keep the infused milk warm.

Step 2: Make the Roux

In a medium saucepan, melt butter over medium heat. Add flour all at once and whisk immediately and constantly. Cook the roux for 2–3 minutes, stirring the entire time, until it looks dry and smells slightly nutty. The roux should not color — it should remain pale yellow to off-white. Remove from heat briefly.

Step 3: Add the Milk

Add the warm infused milk in a steady stream, whisking constantly. Start with about a third of the milk — whisk it vigorously into the roux until completely smooth and thick. Then add the remaining milk while whisking continuously. Return to medium heat.

Step 4: Cook to Finish

Bring to a gentle simmer, whisking often, and cook 5–7 minutes until the sauce has thickened to coat the back of a spoon and a finger drawn through it leaves a clean line. Season with salt, white pepper, and nutmeg. Taste — the sauce should be smooth, mild, and creamy with no raw flour taste. Use immediately or press plastic wrap against the surface to prevent a skin from forming.

Tips and Common Mistakes

  • Lumpy sauce: Adding cold milk to a hot roux, or not whisking constantly during the addition. Always use warm milk. Always whisk continuously. If lumps form anyway, strain through a fine mesh strainer — it fixes everything.
  • Pasty, floury taste: The roux wasn’t cooked long enough before adding milk. The raw flour character needs those 2–3 minutes of cooking to disappear. You can also cook the finished sauce an extra 3–5 minutes to further eliminate any residual flour taste.
  • Skin forming: Béchamel develops a skin instantly as it cools. Press plastic wrap directly against the surface immediately if not using right away. Remove the plastic just before using.
  • Wrong milk:: Low-fat milk produces a thinner, less rich sauce. Whole milk is the correct ingredient. For an even richer version (used in soufflés and gratins), substitute 1 cup of the milk with heavy cream.

Variations

  • Mornay sauce: Stir ½ cup grated Gruyère and ¼ cup grated Parmesan into the finished béchamel off heat until melted and smooth. This is the sauce for mac and cheese, cauliflower gratin, and croque monsieur.
  • Soubise sauce: Cook 2 large onions (thinly sliced) in butter until very soft and sweet — about 20 minutes — then stir into the finished béchamel. Classic accompaniment for roasted lamb and veal.
  • Mustard béchamel: Stir 2 tablespoons of Dijon mustard into the finished sauce. Excellent in savory tarts, with chicken, and in mac and cheese for additional depth.

Béchamel is a gateway to the entire French-influenced sauce repertoire. Build alongside the Marinara Sauce from Scratch, the Italian Seasoning Blend, and the Homemade Gravy from Scratch for a complete sauce collection.

Storage and Reheating

  • Refrigerator: Keeps 3—4 days with plastic wrap pressed against the surface. Will thicken significantly in the refrigerator.
  • Reheating: Reheat over low heat, whisking constantly, adding a splash of warm milk to loosen to the original consistency. Never microwave on high power — it causes the sauce to break and become grainy.
  • Freezer: Can be frozen but the texture changes on thawing. Reheat slowly over low heat, whisking vigorously, and add a small amount of warm milk to re-emulsify. Works reasonably well but fresh is always better.

Frequently Asked Questions

What is the difference between béchamel and white sauce?

They’re the same thing. Béchamel is the formal French name; white sauce is the informal English name. Both refer to milk thickened with a butter-flour roux, seasoned with salt, white pepper, and nutmeg. The terms are fully interchangeable.

Why does my béchamel taste floury?

The roux wasn’t cooked long enough. 2–3 minutes of cooking the butter-flour mixture before adding milk is the minimum. The raw starch taste from under-cooked flour cannot be masked with seasoning. If you already have a floury-tasting sauce, continue cooking it over medium heat for another 5 minutes while stirring — it often resolves itself.

Can I make béchamel without butter?

Yes. Olive oil makes a perfectly functional roux. The flavor is slightly different (less rich, slightly more savory) but the technique is identical. A 1:1 ratio of olive oil to flour, same cooking time, same gradual milk addition.

How thick should béchamel be?

It depends on the application. Thin béchamel (more milk, shorter cooking time) works for soups and very light sauces. Medium (as in this recipe) is right for lasagna, pasta sauces, and general-purpose use. Thick béchamel (less milk, longer cooking) is used as a base for soufflés and croquettes. The recipe here produces the medium version.

The Gravy Guy

The Gravy Guy

The Gravy Guy is a retired sous chef from New Jersey with 30+ years in professional kitchens and three generations of Italian-American cooking in his blood. He writes the way he cooks — opinionated, technique-first, and with zero tolerance for shortcuts. When he’s not slow-simmering Sunday gravy, he’s arguing about the right pasta shape for the sauce.

The Gravy Guy

The Gravy Guy is a retired sous chef from New Jersey with 30+ years in professional kitchens and three generations of Italian-American cooking in his blood. He writes the way he cooks — opinionated, technique-first, and with zero tolerance for shortcuts. When he’s not slow-simmering Sunday gravy, he’s arguing about the right pasta shape for the sauce.