Salads
This authentic Italian macaroni and cheese recipe brings the bold flavors of Rome to your kitchen table—no heavy cream or processed cheese here. 💛 The secret lies in aged Pecorino Romano and Parmigiano-Reggiano, which melt into a nutty, golden sauce that clings perfectly to al dente pasta. I've perfected this version after years of testing, ensuring every bite delivers the rich, savory depth of traditional Roman pasta al forno—just without the fuss of baking.
The foundation is simple: high-quality pasta (rigatoni or casarecce work best), a classic stovetop béchamel made with just butter, flour, and milk, and a generous mix of Italian cheeses. The key technique?
Cooking the pasta al dente and finishing it directly in the cheese sauce, so every strand absorbs that velvety, umami-packed goodness. No artificial additives—just pure, comforting Italian flavor that tastes like Nonna's kitchen.
What you'll end up with is a dish that's creamy yet light, with a texture that's neither gluey nor heavy—just perfectly balanced. The nutty Pecorino adds a sharp, tangy edge that cuts through the richness, while the Parmigiano brings depth and a melt-in-your-mouth finish.
This isn't your childhood mac and cheese; it's a sophisticated, restaurant-worthy pasta that still feels like a weeknight staple.
Serve it immediately with a sprinkle of fresh black pepper and a side of crispy garlic bread for the full Roman experience. The beauty of this recipe?
It's versatile enough for everyday dinners but impressive enough for guests—all while staying true to Italian tradition. Let's get started on this flavor-packed masterpiece.
Ingredients for authentic italian macaroni and cheese
High-quality pasta, aged Italian cheeses, and simple stovetop technique create this Roman-style masterpiece.
| Ingredient | Amount | Notes |
|---|---|---|
| Rigatoni or Casarecce Pasta 🍝 | 12 oz | High-quality, al dente preferred |
| Unsalted Butter 🧈 | ½ cup | Cold, cut into small cubes |
| All-Purpose Flour 🌾 | ½ cup | Sifted, for smooth sauce |
| Whole Milk 🥛 | 2 cups | Full-fat for creaminess |
| Pecorino Romano Cheese 🧀 | 1 cup | Freshly grated, aged |
| Parmigiano-Reggiano Cheese 🧀 | 1 cup | Freshly grated from block |
| Garlic Cloves 🧄 | 2 cloves | Minced, for depth of flavor |
| Fresh Black Peppercorns 🌶️ | ½ tsp | Freshly cracked, not ground |
| Nutmeg 🌿 | ¼ tsp | Freshly grated, optional |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For finishing, fruity variety |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
The cheeses are non-negotiable here. Pecorino Romano should be aged at least 8 months—look for blocks with a vibrant, golden hue and sharp aroma at Eataly or specialty Italian markets. Parmigiano-Reggiano needs to be freshly grated from a wedge; pre-shredded gets clumpy and lacks depth. For the pasta, De Cecco or Barilla are my go-to brands—they hold their shape perfectly. If you can't find rigatoni, casarecce or penne work just as well. The butter matters too—use Plugrá or Land O'Lakes unsalted for the best flavor without added salt.
No Pecorino? Substitute with a mix of sharp cheddar and Parmigiano-Reggiano, but you'll lose that authentic Roman tang. Running low on Parmigiano? Gran Padano works in a pinch, though it's slightly milder. Fresh nutmeg hard to find? Ground nutmeg at half the amount is fine, but freshly grated adds that warm, aromatic punch. The milk can be whole or 2%—just avoid skim, or the sauce will turn out too thin. For extra richness, add a splash of heavy cream at the end, but keep it to 1-2 tablespoons max.
This sauce is best made fresh, but it reheats beautifully—just add a splash of milk to loosen. Store leftovers in an airtight container for up to 3 days in the fridge. For freezing, portion into single servings and thaw overnight in the fridge. The pasta absorbs sauce differently when reheated, so I always make a little extra. Freshly grated cheese freezes well too—just grate it fresh from a block, portion into ice cube trays, and freeze. Perfect for quick top-offs later.
Why You'll Love This Recipe
- Pasta in 15 Minutes: I swear, this is the only mac and cheese that doesn’t require a separate sauce pot. You just toss the cooked pasta into the same pan where you made the béchamel—no extra dishes, no waiting. The rigatoni’s ridges catch every last bit of that nutty Pecorino butter sauce, and honestly? It’s the kind of meal that makes me feel like I’ve earned a nap by 7pm.
- Cheese That Stays: Forget the melty, stringy American cheese mess. Pecorino Romano turns this into something rich and sharp, with that unmistakable salty kick that lingers. Between us, I’ve tried all the fancy add-ins, but this? It’s the real deal—no shortcuts, just pure, satisfying cheese flavor that actually matters.
- Weeknight or Potluck: This dish works just as well in a takeout container for lunch as it does on a big platter for company. I’ve brought it to dinner parties (it disappears fast) and packed it for my kid’s soccer game (zero complaints). The secret? The sauce clings to the pasta perfectly, so it reheats like a dream—no soggy bits, no sad leftovers.
- Budget Magic: A single block of Pecorino and a stick of butter stretch this recipe further than you’d think. I’ll be real: my grocery bill stays sane because this is the kind of meal where the cheap ingredients actually elevate instead of holding it back. Plus, the leftovers? They’re the reason I don’t stress about cooking on repeat—just reheat, add a sprinkle of black pepper, and boom. Dinner’s saved.
Step-by-step instructions for Roman-style al dente pasta with nutty Pecorino
Here's how to craft this authentic Italian dish with rich, nutty cheese and perfectly al dente pasta.
🍳 Step 1: Cook the Pasta to Perfect Al Dente
Bring a large pot of water to a rolling boil, adding 1.5 teaspoons salt (it should taste like the sea). Add the 12 oz rigatoni or casarecce pasta and cook for 1 minute less than package directions—this ensures perfect al dente texture. I like to test by tasting a piece; it should have a slight bite but be tender.
Reserve 1 cup pasta water before draining—this starchy liquid is essential for creating a silky sauce. Drain the pasta but don't rinse; the surface starch helps the cheese cling beautifully. Keep the pasta warm while you prepare the sauce.
👨🍳 Step 2: Create the Roman-Style Cheese Sauce
In a large skillet, melt the ½ cup unsalted butter over medium heat until foamy. Whisk in the ½ cup all-purpose flour and cook for 1-2 minutes until the mixture forms a thick paste (this is called a roux). Don't let it brown—just cook until it smells nutty and toasty.
Gradually whisk in the 2 cups whole milk, about ½ cup at a time, allowing each addition to fully incorporate before adding more. The sauce should thicken gradually into a velvety consistency. Here's the thing—don't rush this step. A proper roux is the foundation of an authentic Italian sauce.
🍳 Step 3: Build Flavor with Aromatics and Cheese
Add the 2 minced garlic cloves and cook for 30 seconds until fragrant—don't let them brown or they'll turn bitter. Stir in the ½ teaspoon freshly cracked black peppercorns and ¼ teaspoon freshly grated nutmeg for that classic Roman warmth.
Reduce heat to low and gradually whisk in the 1 cup freshly grated Pecorino Romano and 1 cup freshly grated Parmigiano-Reggiano. The cheese should melt completely, creating a rich, nutty sauce. If it looks too thick, add 2-3 tablespoons of the reserved pasta water at a time until it reaches a creamy, coatable consistency.
🥘 Step 4: Finish with Olive Oil for Authentic Touch
Return the drained pasta to the skillet with the cheese sauce. Toss gently to coat every strand, adding more pasta water as needed to create a luxurious sauce. The key here is to work quickly—you want the pasta to absorb the sauce but not get mushy.
Off heat, drizzle in the 2 tablespoons extra-virgin olive oil and toss again. This final step adds that authentic Italian touch—bright, fruity olive oil cuts through the richness of the cheese while adding complexity. The sauce should cling beautifully to each piece of pasta, creating that signature Roman texture.
🍽️ Step 5: Serve Immediately with Crispy Bread
Transfer the pasta to warm serving plates and serve immediately. The dish should be creamy yet al dente, with each bite delivering that perfect balance of nutty Pecorino, rich Parmigiano, and aromatic garlic. For an authentic Roman experience, serve with crusty bread to soak up every last bit of that luxurious sauce.
Real talk: This dish tastes even better the next day when the flavors have had time to meld. The pasta will be perfectly al dente, and the cheese sauce will develop even deeper richness. Just reheat gently with a splash of milk to restore that creamy texture.
Pro Tips For Making Authentic Italian Macaroni And Cheese
- Bloom the Flour First: Toss that flour and butter together in the pot and cook it on low heat for 3-5 minutes—stirring constantly—until it smells nutty and turns a pale golden color. I learned this the hard way: skipping this step means your sauce will taste raw and floury, no matter how long you simmer it later. (Yes, even if you’re impatient like me.)
- Grate the Pecorino Fresh: Buy the whole wedge of Pecorino Romano, not pre-shredded, and grate it yourself just before mixing it into the sauce. Pre-shredded cheese has anti-caking agents and loses moisture fast, turning your creamy sauce into a dry, gritty mess. If you’re in a pinch, use freshly grated Parmigiano-Reggiano—it’s milder but still works.
- Don’t Boil the Pasta Dry: Pull the rigatoni or casarecce out of the pot when it’s al dente but still holding a tiny bite of resistance—about 1-2 minutes before the package says. Finish cooking it in the cheese sauce off the heat, tossing it around to soak up the goodness. I used to overcook it, and the pasta turned mushy, drowning in its own sauce.
- Add Milk Gradually: Pour the whole milk in slowly, a splash at a time, while stirring like your life depends on it. Dumping it all at once means you’ll end up with lumps, no matter how much you whisk later. If the sauce gets too thick, thin it with a splash of pasta water—it’s the real MVP here.
Dietary considerations for this authentic italian macaroni and cheese
Gluten-Free Adaptation
For a gluten-free version, swap the all-purpose flour with a 1:1 gluten-free flour blend like Bob's Red Mill or King Arthur. Use ½ cup for the roux, but whisk in the milk more slowly—gluten-free flours absorb liquid differently and can create a grittier texture.
I also recommend adding 1 tablespoon cornstarch to the flour mix for extra smoothness. 🌾
Dairy-Free Options
To make this dairy-free, replace the butter with ½ cup olive oil and use unsweetened almond milk or oat milk instead of whole milk.
For cheese, nutritional yeast (½ cup) adds a cheesy flavor, while vegan Parmesan (like Follow Your Heart) and dairy-free Pecorino alternatives (like Violife) work well. The sauce will be lighter but still rich with umami. 🧀
Lactose-Sensitive Adjustments
If lactose is the issue but you want to keep dairy, use lactose-free milk and lactose-free butter (like Land O'Lakes Lactose-Free). For the cheese, aged Parmigiano-Reggiano and Pecorino Romano are naturally lower in lactose than fresh mozzarella.
I've found that 24-hour aged cheeses are far easier to digest while keeping that authentic Roman tang. 💛
Nut-Free Considerations
This recipe is naturally nut-free, but if you're avoiding all nuts (including those in cheese), double-check your Pecorino and Parmigiano brands—some Italian varieties may process in facilities with nuts.
For extra safety, use certified nut-free cheeses like Galbani or BelGioioso. The olive oil should also be nut-free—look for brands like Colavita that specify. 🌿
Vegetarian-Friendly
This dish is already vegetarian, but if you want to boost protein, stir in ½ cup cooked white beans (like cannellini) or crumbled firm tofu at the end.
For a meaty texture, mushrooms (sautéed with garlic) work beautifully. Just add them after the cheese sauce is complete to avoid breaking the sauce's velvety texture. 🍄
Nutrition facts
Frequently asked questions
Why does this Italian macaroni and cheese use Pecorino Romano instead of cheddar?
Pecorino Romano delivers that authentic Roman tang and nutty depth cheddar can't match. Its sharp, salty flavor cuts through the richness while adding a complex umami that's essential for traditional Italian pasta dishes. Plus, it melts beautifully into the sauce without making it too heavy.
Can I make this ahead of time or does it need to be fresh?
This dish actually tastes better the next day! The flavors meld beautifully when reheated gently with a splash of milk. Store in an airtight container for up to 3 days in the fridge, or freeze portions for up to 2 months. Just thaw overnight in the fridge before reheating.
What's the secret to getting the perfect al dente texture?
Cook the pasta 1 minute less than package instructions and test by tasting—it should have a slight bite. The key is using high-quality pasta that holds its shape. Reserve that starchy pasta water too—it's what makes the sauce silky and helps the cheese cling perfectly.
How do I fix a sauce that's too thick or too thin?
For a thick sauce, whisk in 2-3 tablespoons of reserved pasta water at a time until creamy. If it's too thin, simmer uncovered for 2-3 minutes to evaporate excess liquid. The magic is in that perfect balance—just keep tasting as you go!
What pasta shapes work best for this Roman-style dish?
Rigatoni or casarecce are ideal—their ridges and tubes hold the creamy cheese sauce beautifully. Other great options include penne, fusilli, or even large shell pasta. Avoid delicate shapes like angel hair—they'll turn mushy when tossed with the rich sauce.
