This mac and cheese is the kind of recipe I reach for when I want dependable comfort without fuss. It’s straightforward: a silky, cheese-forward sauce built on a simple roux, jazzed with cream cheese for extra silkiness and two melting cheeses for depth. The ingredients list is short, the technique is forgiving, and the result is creamy, tangy, and just the right kind of indulgent.
I like to think of this as a weekday hero and a weekend star. It comes together quickly if you plan — the pasta cooks while the sauce builds, and a splash of reserved pasta water rescues the sauce if it tightens up. No baking required, no breadcrumbs, just a clean, classic stovetop mac that feels homemade.
You’ll find clear steps below, ingredient notes, swap ideas, and troubleshooting pointers. Read the ingredient notes and the problems & prevention section before you start if you want the smoothest finish. Then follow the step-by-step directions exactly for the best result.
Ingredient Notes

Everything in this recipe has a purpose. The roux (butter + flour) is the base that stabilizes the milk and melted cheese into a smooth sauce. Low-fat milk is specified here — it keeps the sauce a little lighter while still allowing the cream cheese and cheeses to provide richness. Extra-sharp cheddar is the flavor driver; mozzarella contributes melt and stretch. The dry mustard and garlic powder are small but important flavor boosters that cut through the creaminess.
The method calls for reserving pasta water. That starchy water is an emulsifier; it helps thin and bind the sauce to the pasta without diluting flavor. Use it a splash at a time and stop when you reach the consistency you want. Salt the pasta water well — it’s the primary seasoning for the pasta itself.
Ingredients
- 14 oz dry elbow macaroni — the pasta; cook to al dente so it finishes perfectly in the sauce.
- Salt — seasons the pasta water and the sauce to taste.
- 3 1/2 Tbsp butter — forms the fat in the roux and adds flavor.
- 3 1/2 Tbsp flour — combines with the butter to thicken the sauce.
- 2 1/3 cups low-fat milk — the liquid that the roux thickens into a béchamel-style base.
- 1/2 tsp dry mustard — brightens the cheese notes; add more if you like a tangier profile.
- 1/4 tsp garlic powder — background savory flavor that doesn’t overpower the cheese.
- 4 oz cream cheese, diced into small pieces — smooths and enriches the sauce for a velvety texture.
- 8 oz extra-sharp cheddar cheese, shredded — primary flavor; gives sharp, cheesy character.
- 4 oz mozzarella cheese, shredded — contributes meltability and a pleasant stretch.
- Reserved pasta water — used a splash at a time to thin the sauce if it’s too thick.
Step-by-Step: Mac and Cheese
- Bring a large pot of salted water to a boil. Add 14 oz dry elbow macaroni and cook to al dente according to the package instructions. Before draining, reserve 1/2 cup of the pasta cooking water; then drain the pasta and set it aside.
- While the pasta is cooking, melt 3 1/2 Tbsp butter in a medium saucepan (about 4-quart) over medium heat.
- Add 3 1/2 Tbsp flour to the melted butter and cook for 1 minute, whisking constantly to form a roux.
- While whisking constantly, slowly pour in 2 1/3 cups low-fat milk. Whisk in 1/2 tsp dry mustard and 1/4 tsp garlic powder. Increase the heat slightly and continue whisking until the mixture reaches a gentle simmer and begins to thicken. Do not let it boil.
- Reduce the heat to low and add 4 oz cream cheese (diced); whisk until the cream cheese is fully melted and the sauce is smooth.
- Remove the saucepan from the heat. Add the shredded cheeses (8 oz extra-sharp cheddar and 4 oz mozzarella) in two additions: add half of each, whisk to melt, then add the remaining half and whisk until the sauce is smooth. If needed to finish melting the cheese, return the pan briefly to low heat while whisking constantly; avoid boiling the sauce.
- Season the cheese sauce with salt to taste.
- Add the drained pasta to the sauce and toss to coat evenly. If the sauce is too thick, thin it with the reserved pasta water a splash at a time until you reach the desired consistency.
- Serve immediately.
Why This Recipe is a Keeper

This version balances ease and texture. The roux plus milk creates a stable, velvety sauce that won’t break when cheese is added slowly. The cream cheese prevents the sauce from getting grainy and keeps it luxuriously smooth. Using two cheeses gives you an emotional and textural payoff: cheddar for flavor and mozzarella for melt.
It scales easily — double it for a crowd and keep the proportions steady. It’s quick enough for a weeknight but good enough to serve hungry guests. The reserved pasta water is a small trick that yields consistently silky results, and that’s the kind of detail that makes this mac and cheese feel reliably restaurant-level at home.
Swap Guide

You can swap components, but keep a few principles in mind. The recipe relies on one flavorful, snap-forward cheese and one melty, mild cheese. If you swap the cheddar, choose a cheese with a similar intensity. If you swap the mozzarella, pick a good-melting cheese that won’t overpower the sauce.
- Cheddar — swap with medium-aged Gruyère or a sharp white cheddar for similar bite.
- Mozzarella — swap with fontina or young gouda for good melt and neutral flavor.
- Milk — the recipe calls for low-fat milk. You can use whole milk for a richer sauce or a 2% for a middle ground. Avoid non-dairy milks without a similar fat and protein profile; they won’t thicken the same way.
- Cream cheese — can be omitted if you increase the butter slightly and finish with a splash of cream, but texture will differ.
Prep & Cook Tools
- Large pot — for boiling the pasta; size matters so the pasta cooks evenly.
- Medium (about 4-quart) saucepan — ideal for making the roux and sauce without crowding.
- Whisk — essential for a lump-free roux-to-sauce transition.
- Cheese grater — shred your own cheese for better melting; pre-shredded cheese has anti-caking agents that can affect smoothness.
- Measuring spoons and cups — accuracy here keeps consistency.
- Colander — for draining, plus a measuring cup to reserve pasta water.
Problems & Prevention
Sauce lumps or grainy texture
Cause: adding cheese too quickly or overheating the sauce. Prevention: remove the pan from heat when adding cheese and incorporate in two additions as the recipe prescribes. If the sauce gets grainy, take it off heat and whisk vigorously; a few drops of reserved pasta water can help coax it back together.
Sauce too thick
Cause: roux-to-milk ratio or evaporation. Prevention: keep the reserved 1/2 cup pasta water and add a splash at a time to loosen the sauce. Stir until you reach the desired sheen — it should cling to the pasta, not pool like soup.
Sauce too thin
Cause: undercooked roux or too much reserved water. Prevention: allow the roux to cook the full minute before adding milk so it thickens properly. If it’s already thin, return to low heat and simmer gently while whisking; the sauce will reduce and thicken slightly.
Pasta overcooked
Cause: cooking past al dente. Prevention: follow package times and check a minute or two earlier. The pasta will finish in the sauce when you toss it together.
Variations for Dietary Needs
True dairy-free swaps are tricky because the recipe depends on dairy proteins and fats for texture. Still, here are options and caveats:
- Lactose-sensitive — use lactose-reduced milk and lactose-free cream cheese. Flavor and texture remain close.
- Lower-fat — the recipe already uses low-fat milk; you can reduce the butter by a tablespoon, but expect a small change in silkiness.
- Dairy-free — you can attempt with full-fat, unsweetened oat milk and a dairy-free cream cheese plus melty vegan cheeses, but results vary. The sauce may be less stable and require a different thickener (such as a bit more flour in the roux).
- Gluten-free — use gluten-free pasta and a 1:1 gluten-free flour blend for the roux; some blends need a touch more time to hydrate, so cook the roux and milk until it thickens properly.
What Could Go Wrong
Three common mishaps: the sauce breaks or becomes grainy, the pasta is gummy, or the overall dish lacks seasoning. The fix for a broken sauce is gentle whisking off the heat and adding a tablespoon or two of reserved pasta water to re-emulsify. If the pasta is gummy, it was overcooked; unfortunately, you can only mask this by tossing it quickly with the sauce and serving hot, but future batches should be pulled earlier.
If the dish tastes flat, it usually needs more salt. Because the pasta absorbs salt during cooking, taste and adjust the sauce after the cheeses melt. A small pinch of salt can open up the flavors dramatically.
Storage & Reheat Guide
Store leftovers in an airtight container in the fridge for up to 3 days. The sauce will thicken as it chills because the fats solidify and the pasta absorbs liquid.
To reheat: place the mac and cheese in a saucepan over low heat with a splash of milk or reserved pasta water. Stir gently until warmed and smooth. Alternatively, microwave in short bursts (30–45 seconds), stirring between bursts and adding a little liquid as needed. Reheating in the oven works too: cover and bake at 325°F until warmed through, stirring once or twice, adding a little milk if it looks dry.
Your Top Questions
Q: Can I prep the sauce ahead? A: Yes. Make the sauce up to the point before adding the pasta, cool it, and refrigerate for up to 24 hours. Reheat gently and add the drained pasta at the end. The sauce may thicken in the fridge; loosen it with a splash of milk or reserved pasta water when reheating.
Q: Why two cheeses? A: They play different roles. The cheddar carries the flavor; the mozzarella gives a smooth melt. The combination reduces the risk of a grainy, oily sauce that can occur when using a single, very sharp cheese.
Q: Is the cream cheese necessary? A: No, but it helps stabilize and add silkiness. If you skip it, expect a slightly less satin finish. You can experiment with a tablespoon more butter and a splash of cream, but textures will differ.
Serve & Enjoy
Serve this mac and cheese straight from the pan. A simple garnish of cracked black pepper or a sprinkle of fresh parsley brightens the plate. For a protein boost, stir in cooked diced ham, shredded rotisserie chicken, or roasted vegetables just before serving.
Eat it hot for the best texture. If you want a crisp topping, transfer the sauced pasta to a baking dish, top with extra shredded cheese and breadcrumbs, then broil briefly until golden — watch it carefully. Otherwise, keep it simple and let the creamy sauce do the talking.
One last note: timing and attention to heat are what make a smooth mac and cheese. Keep the sauce gentle, add the cheese off the heat in two batches, and use your reserved pasta water as the final adjustment. Do that, and you’ll have a reliably silky, deeply cheesy mac and cheese every time.

Mac and Cheese
Ingredients
Ingredients
- 14 oz.dry elbow macaroni
- Salt
- 3 1/2 Tbspbutter
- 3 1/2 Tbspflour
- 21/3 cups low-fat milk
- 1/2 tspdry mustard or more to taste
- 1/4 tspgarlic powder
- 4 oz.cream cheese diced into small pieces
- 8 oz.extra sharp cheddar cheese shredded
- 4 oz.mozzarella cheese shredded
- Reserved pasta water
Instructions
Instructions
- Bring a large pot of salted water to a boil. Add 14 oz dry elbow macaroni and cook to al dente according to the package instructions. Before draining, reserve 1/2 cup of the pasta cooking water; then drain the pasta and set it aside.
- While the pasta is cooking, melt 3 1/2 Tbsp butter in a medium saucepan (about 4-quart) over medium heat.
- Add 3 1/2 Tbsp flour to the melted butter and cook for 1 minute, whisking constantly to form a roux.
- While whisking constantly, slowly pour in 2 1/3 cups low-fat milk. Whisk in 1/2 tsp dry mustard and 1/4 tsp garlic powder. Increase the heat slightly and continue whisking until the mixture reaches a gentle simmer and begins to thicken. Do not let it boil.
- Reduce the heat to low and add 4 oz cream cheese (diced); whisk until the cream cheese is fully melted and the sauce is smooth.
- Remove the saucepan from the heat. Add the shredded cheeses (8 oz extra-sharp cheddar and 4 oz mozzarella) in two additions: add half of each, whisk to melt, then add the remaining half and whisk until the sauce is smooth. If needed to finish melting the cheese, return the pan briefly to low heat while whisking constantly; avoid boiling the sauce.
- Season the cheese sauce with salt to taste.
- Add the drained pasta to the sauce and toss to coat evenly. If the sauce is too thick, thin it with the reserved pasta water a splash at a time until you reach the desired consistency.
- Serve immediately.
Equipment
- Large Pot
- medium saucepan (about 4-quart)
- Whisk
- Colander
Notes
If you don't have mustard powder, substitute 1 tsp prepared mustard (regular or dijon).
Don't rinse the pasta. It adds starches and helps thicken up the sauce and keeps the sauce clinging to the pasta.
Want a crunchy topping? Try sautéing panko bread crumbs in a skillet in a little melted butter or olive oil until golden brown. Sprinkle over individual servings so it stays crisp.
