Sauces & Condiments
This basic cheese sauce recipe for mac and cheese transforms simple ingredients into velvety, ultra-smooth perfection—no lumps, no effort, just restaurant-quality results. The secret lies in a proper roux foundation and precise technique that ensures the sauce stays creamy and clings to every noodle.
Whether you're making classic mac and cheese or elevating other dishes, this versatile sauce delivers consistent, foolproof performance every time.
The magic begins with equal parts butter and flour cooked until golden, creating a stable base that prevents separation. Sharp cheddar provides bold flavor, while cream cheese adds richness without overpowering.
For a more refined touch, Gruyère or Parmesan can replace some of the cheddar, introducing nutty depth. The sauce thickens beautifully on the stovetop, ready to coat pasta in seconds.
What you'll achieve is a silky, lump-free cheese sauce that's creamy yet not overly heavy, with a perfect balance of tang and richness. This sauce reheats beautifully, making it ideal for meal prep or last-minute dinners.
The texture remains velvety even when reheated, ensuring every bite is as delicious as the first.
Use this sauce as the foundation for your favorite mac and cheese, or drizzle it over baked potatoes, broccoli, or grilled chicken. The possibilities are endless, but the method remains simple and reliable. Let's create this essential kitchen staple that will become your go-to for creamy, comforting meals.
Ingredients for basic cheese sauce recipe for mac and cheese
Simple ingredients that transform into velvety, ultra-smooth perfection for mac and cheese.
| Ingredient | Amount | Notes |
|---|---|---|
| Unsalted Butter 🧈 | ½ cup | Cold, cut into small cubes |
| All-Purpose Flour 🌾 | ½ cup | Sifted for smooth sauce |
| Sharp White Cheddar Cheese 🧀 | 2 cups | Freshly grated, block preferred |
| Cream Cheese 🧀 | 8 oz | Full-fat for creaminess |
| Whole Milk 🥛 | 1 cup | Room temperature preferred |
| Garlic Cloves 🧄 | 1 whole | Minced for subtle depth |
| Yellow Onion 🧅 | ¼ cup | Finely diced, mild flavor |
| Diamond Crystal Kosher Salt 🧂 | ½ tsp | Adjust to taste |
| Freshly Ground Black Pepper 🌶️ | ¼ tsp | For subtle seasoning |
| Extra-Virgin Olive Oil 🫒 | 1 tbsp | For finishing drizzle |
The butter and flour create the magic—equal parts make a golden roux that prevents lumps. European-style butter like Plugrá or Land O'Lakes works best for flavor, but any unsalted butter will do. For the flour, King Arthur or Bob's Red Mill brands sift beautifully. The cheese is where bold flavor happens: sharp white cheddar from a block (like Cabot) melts smoother than pre-shredded. If you're feeling fancy, swap half the cheddar for Gruyère or Parmesan—just grate it yourself. Freshly grated cheese makes all the difference.
No sharp cheddar? Pepper Jack or Monterey Jack work in a pinch, but the sauce won't be as rich. Cream cheese is non-negotiable for creaminess—Philadelphia is the gold standard, but any full-fat brand works. Running short on milk? Heavy cream thinned with a splash of water works too, but the sauce will be heavier. The garlic and onion add subtle depth, but if you're in a rush, skip them—the sauce will still be delicious. For extra richness, add a pinch of nutmeg or smoked paprika to the roux.
This sauce reheats beautifully—just add a splash of milk to loosen it up. Keeps for 4-5 days in the fridge, frozen for 3 months. I like to make a double batch and freeze half for lazy weeknights. Store in airtight containers, and if it thickens too much, stir in a little more milk when reheating. The sauce thickens further as it cools, so don't over-thicken it on the stovetop.
Why You'll Love This Recipe
- Here’s what sold me: the way the sauce clings to the pasta while staying just thick enough—not gluey, not watery. The sharp cheddar cuts through the richness, and the butter adds that golden, velvety finish. Honestly, it’s the kind of mac that makes you pause mid-bite.
- Five-Ingredient Magic: I swear by this combo—just butter, flour, sharp cheddar, cream cheese, and milk. That’s it. No weird ratios, no hunting for obscure spices. The cream cheese melts into the roux so smoothly, you’ll forget how little effort it took.
- Creamy Crunch Perfection: Here’s what sold me: the way the sauce clings to the pasta while staying just thick enough—not gluey, not watery. The sharp cheddar cuts through the richness, and the butter adds that golden, velvety finish. Honestly, it’s the kind of mac that makes you pause mid-bite.
- Leftover Hero: Between us, this sauce reheats like a dream. Toss it with last night’s pasta or freeze it for lazy mornings—it’s still creamy, not grainy. I’ve even used it as a quesadilla filling or broccoli dip. Not the prettiest, but the taste makes up for it every time.
Step-by-step instructions for ultra-smooth stovetop cheese sauce
Here's how to build the perfect velvety cheese sauce—no lumps, no guesswork.
Melt Butter and Cook Aromatics
Melt the 0.5 cup unsalted butter in a medium saucepan over medium heat. Once fully melted and foaming subsides, add the 0.25 cup finely diced yellow onion and 1 whole minced garlic clove. Cook for 3-4 minutes until the onion softens and becomes translucent.
This step builds flavor foundation—don't rush it. The onion should release its sweetness before you add flour. I like to stir occasionally to prevent browning, but keep the heat steady. If the butter starts to brown too quickly, reduce heat slightly to maintain gentle cooking.
Create the Roux
Lower heat to medium-low and whisk in the 0.5 cup sifted all-purpose flour all at once. Stir constantly for 1-2 minutes until the mixture forms a smooth, pale roux that smells nutty and toasty. You're looking for a color between tan and light brown—this creates the sauce's thickening power.
This is where texture magic happens. If you see any flour clumps, whisk harder or use a wooden spoon to break them down completely. The roux should coat the back of a spoon without leaving a gritty residue. Too much heat here will burn the flour—watch carefully and adjust as needed.
Gradually Add Milk
Slowly pour in the 1 cup room-temperature whole milk while whisking vigorously to prevent lumps. Add it gradually—about ¼ cup at a time—allowing each addition to fully incorporate before adding more. Once all milk is incorporated, increase heat to medium and simmer for 3-4 minutes, stirring constantly.
The sauce will thicken noticeably as it simmers. You'll see it transform from a thin liquid to a glossy, creamy consistency. If it thickens too quickly, whisk in 1-2 tablespoons of milk to adjust. The goal is a sauce that coats the back of a spoon but still flows smoothly—this ensures perfect cling to your macaroni.
Add Cheeses for Maximum Creaminess
Reduce heat to low and gradually whisk in the 2 cups freshly grated sharp white cheddar cheese and 8 oz cream cheese in small additions. The sauce will thicken dramatically as the cheeses melt. Stir continuously for 2-3 minutes until completely smooth and all cheese is incorporated.
Here's the secret: the cream cheese prevents separation while the sharp cheddar delivers bold flavor. If you see any cheese clumps, use a rubber spatula to gently press them against the pan sides until they melt. The sauce should now be luxuriously thick but still pourable. If it's too thick, whisk in 1-2 tablespoons of milk to reach your desired consistency.
Season and Finish
Remove the sauce from heat and stir in the 0.5 tsp kosher salt and 0.25 tsp freshly ground black pepper. For extra richness, drizzle in the 1 tbsp extra-virgin olive oil and stir gently to emulsify. Taste and adjust seasoning if needed—this is your final opportunity to perfect the balance.
Let the sauce rest for 2-3 minutes off the heat. This resting period allows flavors to meld completely. The sauce should be velvety smooth with no graininess, and each spoonful should reveal that perfect marriage of sharp cheddar and creamy texture. Now you're ready to pour this over your perfectly cooked macaroni for the ultimate comfort dish.
Pro Tips For Making Basic Cheese Sauce Recipe For Mac And Cheese
- WHISK THE MILK FIRST: After melting your butter and adding flour, pour in warm milk (not boiling) and whisk like you’re trying to win an arm-wrestling match with the roux. This prevents clumping—my first few batches looked like lumpy glue because I poured cold milk too fast. Stir constantly for 3-4 minutes until it’s smooth and thick enough to coat the back of a spoon.
- GRATE THE CHEESE FINE: Sharp white cheddar loses its edge when it clumps. Use a box grater and pulse it in a food processor for 10 seconds—this breaks up the cheese without turning it into powder. Skip the pre-shredded stuff (it’s coated with anti-caking agents that make the sauce grainy), and resist the urge to melt it all at once—add it in stages while stirring.
- LOW AND SLOW AFTER CHEESE: Once you add the cheese, drop the heat to medium-low and let it bubble gently. I learned this the hard way—high heat burns cream cheese before it melts, leaving you with a stringy, sad sauce. Keep stirring, and if it looks too thick, splash in a tablespoon of warm milk. Patience here guarantees creaminess.
- SALT THE ROUX PROPERLY: Taste your roux (butter + flour) before adding milk—it’s the foundation. Unsalted butter means you need to salt early, but don’t go overboard. Aim for a pinch of salt per tablespoon of flour, then adjust later. I used to forget this and ended up with bland sauce that needed a whole shaker of salt at the end. Trust your taste buds.
Dietary considerations for these flavors
Dairy-Free Adaptation
For a dairy-free version, swap the butter for 2 tbsp olive oil or vegan butter (like Miyoko's) and use 1 cup unsweetened almond milk or cashew cream instead of whole milk.
Replace cheddar with 2 cups sharp white cheddar substitute (like Violife) and cream cheese with 8 oz vegan cream cheese (like Kite Hill). The sauce will still be creamy but with a slightly tangier profile. 🌱
Gluten-Free Version
Make this gluten-free by using a 1:1 gluten-free flour blend (like Bob's Red Mill) instead of all-purpose flour. For the roux, whisk in 0.5 cup gluten-free flour and cook it with the butter until it reaches a golden color—just like the original method.
The texture will be equally smooth, though it may thicken slightly faster. Always check labels to ensure no cross-contamination with gluten. ✨
Lactose-Sensitive Option
If you're lactose-sensitive but can tolerate small amounts, use lactose-free milk instead of whole milk and lactose-free cream cheese (like Breakstone's). For the cheddar, opt for aged sharp cheddar—it naturally contains less lactose than younger cheeses.
This version reduces lactose by about 70% while keeping the rich, creamy texture intact. 💪
Vegan Protein Boost
Add ¼ cup nutritional yeast when whisking in the cheeses for a cheesy flavor without dairy. For extra protein, stir in 2 tbsp white miso paste at the end—it deepens umami and adds creaminess.
This version works perfectly for vegan mac and cheese and provides 5g extra protein per serving without altering the sauce's velvety consistency. 💛
Lower-Fat Adjustments
Reduce the butter to 0.25 cup and use 1 cup low-fat milk (2%) instead of whole milk. Swap half the sharp cheddar for Parmesan cheese (it's lower in fat but still flavorful) and use 4 oz low-fat cream cheese (like Philadelphia Light).
The sauce will still be creamy but with 30% fewer calories** while maintaining rich flavor. 🥗
Allergy-Friendly Notes
Always check labels for hidden allergens—some brands of cream cheese or flour blends may contain traces of dairy or gluten. For nut allergies, ensure your almond milk (if using) is processed in a nut-free facility.
When substituting cheeses, prioritize brands labeled "allergy-friendly" or made in dedicated facilities. Never assume a product is safe—when in doubt, call the manufacturer. 🛡️
Nutrition facts
Frequently asked questions
Why does my cheese sauce get grainy?
Graininess happens when cheese melts unevenly or the sauce cooks too fast. Always use freshly grated cheese (block cheese melts smoother than pre-shredded) and stir constantly on low heat after adding cheeses. If it happens, whisk in 1 tablespoon cold milk and let it sit off heat for 2 minutes to re-emulsify.
Can I make this sauce ahead of time?
Yes! This sauce reheats beautifully. Store it in an airtight container in the fridge for up to 5 days or freeze for 3 months. When reheating, add 1-2 tablespoons milk to loosen it up—never microwave it dry. For best results, warm it gently on the stovetop over low heat while stirring.
What's the best cheese for extra flavor?
For bold flavor, replace half the cheddar with Gruyère (nutty depth) or Parmesan (savory umami). If you love spice, swap in smoked Gouda or Jalapeño cheddar. Just grate these yourself—they melt differently than pre-shredded.
How do I fix a sauce that's too thick?
Thin it gradually with 1 tablespoon milk at a time while whisking constantly. If it separates, whisk vigorously and return to low heat for 1-2 minutes to re-emulsify. For a thicker sauce, simmer uncovered for 1-2 extra minutes—it'll thicken as it cools.
Can I use this sauce for other dishes?
This versatile sauce works perfectly on baked potatoes, grilled chicken, or as a dip for veggies. For nachos, add a splash of hot sauce or sour cream at the end. To use as a dip, thin it slightly with extra milk for a smoother consistency.
