One-Pot Cacio e Pepe Mac and Cheese: Two Classics, One Pot, Zero Stress
A weeknight mac and cheese with the sharp, peppery soul of cacio e pepe, made in one pot with no roux drama.

One pot, two classics, one silky sauce. Nail the emulsion and you're basically done.
Cacio e pepe and mac and cheese are basically the same dish wearing different outfits, so smashing them together felt inevitable. This one is all in one pot, ready in about half an hour, and delivers that sharp, peppery, cheesy punch without you standing over a saucepan doing arm workouts with a whisk. It's the kind of dinner I make on a random Tuesday when I want something that feels a little fancy but takes zero brainpower.

Three moves make or break this recipe.
Here are the moves that actually matter once your pasta's drained and the empty pot is back on the burner.
Roux: 2–3 minutes. Milk: 5–7 minutes from cold to thick. Cheese incorporation: 1–2 minutes off heat.
- Make a light roux with butter and flour; cook until it smells nutty but doesn't brown.
- Whisk in milk gradually to avoid lumps, then simmer 1–2 minutes until thickened.
- Remove from heat, add pasta and pecorino, stir until the cheese melts and the sauce turns creamy.
15 minutes, and you’re ready to cook.
Get everything measured and staged before you turn on a burner, this recipe moves fast once the roux starts.
- Gather EquipmentGather a large pot with lid, wooden spoon or whisk, measuring cups and spoons, a fine grater or microplane, a small bowl for reserved pasta water, and serving bowls.
- Prepare the Pecorino Romano CheeseGrate the Pecorino Romano cheese on the fine side of a box grater or using a microplane. Measure out 2 cups of grated cheese and place in a prep bowl. Set aside a small handful (about ¼ cup) for topping.
- Measure the Butter and FlourMeasure out ¼ cup (4 tablespoons) of butter and place in a small prep bowl. Measure out 3 tablespoons of all-purpose flour and place in a separate small prep bowl.
- Measure the MilkMeasure out 2 cups of whole milk and pour into a measuring cup or small pitcher for easy pouring.
- Measure the Black PepperMeasure out 2 teaspoons of black pepper and place in a small prep bowl.
- Stage IngredientsArrange all prepped ingredients near the stove in cooking order: pasta (to be cooked first), salt, butter, flour, milk, grated cheese (main portion), black pepper, and reserved cheese for topping. Have the small bowl ready for pasta water.
Tools for this recipe.
Nothing fancy required, just the stuff already in your cabinet.
- large pot with lid
- wooden spoon
- whisk
- measuring cups
- measuring spoons
- microplane
- small bowl
How it actually comes together
Boil your pasta, save a cup of that starchy water, then use the same pot to melt butter and whisk in flour for a quick roux. Once it smells a little nutty, pour in the milk gradually, whisking so it doesn't clump, and let it simmer until it coats the back of a spoon. Pull the pot off the heat before the cheese goes in. That's the whole trick: cheese melts into a warm sauce, but a boiling one will fight you.
That roux you whisked together isn't just for flavor, it's doing real structural work on your sauce.
Starch Gelatinization
The roux's starch granules swell and thicken the sauce. Simmer 1–2 minutes after adding milk to fully gelatinize — undercooked starch tastes raw and will re-thin on standing.
If the sauce breaks or thins, make a slurry of cold milk and a pinch of flour, whisk it in off heat, and simmer gently for another minute.
Since pecorino is doing most of the heavy lifting here, it's worth knowing what actually plays well with it.
PastaPecorino Romano
Score 89- pasta + butterBoth carry fresh and grassy notes.
- butter + whole milkBoth carry creamy and coconutty notes.
- pasta + black pepperBoth carry earthy and roasted notes.
What to serve alongside
This dish is rich and salty enough to be the whole point of dinner, so keep the sides simple and bright. A lemony arugula salad or roasted broccoli cuts right through the richness, and honestly, that contrast is what makes the bowl sing instead of feeling heavy. A glass of something crisp and acidic, like a Pinot Grigio, does the same job in liquid form.

Here's the full breakdown of what's in a bowl, no judgment, just the numbers.
Food groups measured against a 2,000-calorie day
- • No protein in this recipe
- • No vegetables in this recipe
- • No fruits in this recipe
- • No healthy fats in this recipe
Strong in dairy, light on protein, vegetables, fruits, and healthy fats.
- Contains
- milk, wheat, gluten
- Fits
- Vegetarian, Pescatarian, Nut-Free, Halal, Kosher
Halal and kosher also depend on how the ingredients are sourced and certified.
Substitutions that still taste like the recipe.
Missing something from the ingredient list up top? Here's what works in a pinch.
- noodles
Brings creamy and coconutty notes.
- udon
- egg noodle
Brings creamy and coconutty notes.
- clotted cream
- cream
Lacks the fresh and grassy notes.
- mascarpone
Lacks the fresh and grassy notes; juicier; more delicate.
- low-fat milk↓ fatty
- whipped cream↑ fatty
More delicate.
- skim milk↓ fatty
- cotija
- parmesan↓ salty↓ sour
Brings earthy and roasted notes; lacks the tangy notes; richer; more savoury depth.
- grana padano↓ salty
Brings earthy and roasted notes; lacks the tangy notes.
- Dairy & Eggs
- $4.97
- Pasta & Grains
- $1.89
- Spices & Seasonings
- $0.04
- Baking
- $0.03
Some prices are estimates.
Common questions
Can I make this ahead of time?
Why did my sauce turn grainy?
Can I use a different pasta shape?
Is this dish very spicy?
This is exactly the kind of dinner Dowell Cooks is here for: a couple of classics mashed into one pot, a real technique that isn't scary once you've done it once, and a bowl that tastes like way more effort than it took. Go make it tonight, and don't be afraid of the roux, it's easier than it sounds.
The Quarterly
Get the next Quarterly from Dowell Cooks
Seasonal recipes, notes, and the issue links worth saving.



Comments