Sauces & Condiments
This baked ziti recipe with white sauce delivers the ultimate comfort food experience—creamy, cheesy layers that melt into perfection while al dente noodles hold their shape. The secret lies in a rich, velvety white sauce that coats every strand of pasta, creating a dish that’s both indulgent and satisfying.
I’ve perfected this recipe over years of testing, ensuring the sauce stays smooth and the cheese develops a golden, bubbly crust.
The beauty of this dish is its simplicity: just a handful of ingredients come together to create restaurant-quality results at home. You’ll need ziti pasta, a blend of cheeses for depth, and a few pantry staples to build that signature white sauce.
The key is layering the pasta and sauce correctly—no soggy bottoms or dry tops here. With just 45 minutes of active time and 25 minutes in the oven, you’ll have a dish that’s worth every bite.
What you’ll end up with is a baked ziti that’s creamy, cheesy, and impossible to resist—the kind of meal that brings everyone to the table. The top layer of melted cheese turns golden and crispy, while the noodles stay tender beneath.
Serve it with a simple side salad or garlic bread to soak up every last bit of that rich sauce. This is comfort food at its finest, and it’s easier to make than you think.
Perfect for family dinners, potlucks, or when you’re craving a hearty meal that feels like a hug in a dish. The recipe scales easily, so you can make it for two or feed a crowd without breaking a sweat. Let’s get started—your taste buds will thank you.
Ingredients for baked ziti recipe white sauce
Pantry staples plus a few cheeses—this creamy white sauce comes together in minutes.
| Ingredient | Amount | Notes |
|---|---|---|
| Ziti Pasta 🍝 | 12 oz | Dried, al dente preferred |
| Heavy Cream 🥛 | 1 cup | Full-fat for richness |
| Whole Milk 🥛 | 1 cup | Warmed for smooth sauce |
| Unsalted Butter 🧈 | 4 tbsp | Cold, cubed for sauce |
| All-Purpose Flour 🌾 | ½ cup | For roux base |
| Medium Yellow Onion 🧅 | 1 whole | Finely diced, sautéed |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic depth |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Nutmeg 🌿 | ¼ tsp | Freshly grated |
| Mozzarella Cheese 🧀 | 1 ½ cups | Fresh, shredded |
| Parmesan Cheese 🧀 | ½ cup | Freshly grated |
| Ricotta Cheese 🧀 | 1 cup | Whole-milk preferred |
| Fresh Basil Leaves 🌿 | ¼ cup | Chopped for garnish |
The cheeses make or break this dish. Fresh mozzarella is non-negotiable—pre-shredded gets rubbery. Grab a wedge from the deli counter (the Whole Foods or Trader Joe's sections have great options) and shred it yourself. For the Parmesan, Parmigiano-Reggiano makes all the difference—skip the pre-grated stuff. Ricotta should be whole-milk and room temperature. The heavy cream? Full-fat only—this isn't the time for skim. And if you're wondering about the nutmeg, trust me on the freshly grated kind (microplane works best).
No heavy cream? Half-and-half plus extra butter gets you close. Short on mozzarella? Fontina or provolone work in a pinch, but the melt won't be as stretchy. Fresh basil wilting? Dried oregano at half the amount saves the day. The onion can be swapped for leeks or shallots if you've got them. And if you're making this ahead, pre-shred the cheeses—it saves time when layering. For the pasta, ziti works best, but penne or rigatoni are solid substitutes if that's what you've got.
This reheats beautifully—honestly tastes better the next day once everything melds. Store leftovers in an airtight container for 4-5 days. For freezing, portion into single servings before baking, then freeze the whole dish. Microwave for 2-3 minutes with a damp paper towel over it to revive the crispy top. The sauce can be made a day ahead—just reheat gently with a splash of milk to keep it smooth.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe because it’s literally one bowl, one whisk, and done. No fancy gadgets—just melt butter, toast flour, add milk and cream, and let that roux work its buttery, velvety magic. The ziti just slides right in, and boom: dinner’s ready.
- Creamy Without the Guilt: Here’s what sold me—the sauce is rich but not heavy. Heavy cream and whole milk make it luscious, but the flour roux keeps it smooth, not greasy. It’s the kind of comfort food that doesn’t leave you sluggish, and honestly? That’s a win for any weeknight.
- Leftovers That Save Me: This dish begs to be made extra. The flavors only get better after reheating—crispy top, gooey center, zero dry pasta. I freeze half for lazy Mondays or pack it for work, and no one ever complains. (Yes, even on a Tuesday night.)
- Budget-Friendly Luxury: Between us, this tastes like a fancy restaurant dish but costs next to nothing. Ziti’s cheap, flour’s cheap, and a stick of butter stretches further than you’d think. It’s my go-to when I want to feel fancy without breaking the bank—or my willpower.
Step-by-step instructions for baked ziti with creamy white sauce
Here's how to build layers of cheesy perfection with al dente pasta and rich white sauce.
Cook the Ziti Pasta to Al Dente Perfection
Bring a large pot of water to a rolling boil and add 12 oz ziti pasta along with 1 tsp salt (save the remaining 0.5 tsp for later). Stir immediately to prevent sticking. Cook until 1 minute before the package's al dente time—you want it to finish cooking in the oven.
Before draining, reserve 1 cup pasta water in a measuring cup. This starchy water is essential for creating a silky white sauce. Drain the pasta but don't rinse—those surface starches help the sauce cling beautifully to each strand.
Prepare the Creamy White Sauce
In a large skillet, melt 4 tbsp unsalted butter over medium heat. Add the finely diced medium yellow onion and cook for 5-6 minutes until soft and translucent. Stir in the minced garlic cloves and cook for 30 seconds until fragrant—don't let it brown.
Reduce heat to medium-low and whisk in 0.5 cup all-purpose flour to form a roux. Cook for 1-2 minutes until the mixture bubbles and smells toasty. Slowly pour in 1 cup whole milk and 1 cup heavy cream, whisking constantly to prevent lumps. Let the sauce simmer for 5-7 minutes until thickened.
Remove from heat and stir in 1 cup ricotta cheese, 1.5 tsp salt, 0.5 tsp ground black pepper, and 0.25 tsp nutmeg until smooth. If the sauce is too thick, add 2-3 tablespoons reserved pasta water to reach a creamy consistency.
Assemble the Ziti Layers
Preheat your oven to 375°F. In a 9x13-inch baking dish, spread half of the cooked ziti pasta evenly across the bottom. Pour half of the white sauce over the pasta, then sprinkle half of the 1.5 cups mozzarella cheese and half of the 0.5 cup parmesan cheese.
Repeat with another layer of pasta, remaining sauce, and cheeses. The top layer should be cheese to ensure a golden, bubbly finish. Cover the dish tightly with aluminum foil and bake for 25 minutes.
Bake to Golden Perfection
Remove the foil and bake for an additional 10-15 minutes until the top is golden brown and bubbly. The edges should be slightly crispy while the center remains creamy. If the top browns too quickly, tent loosely with foil.
Let the baked ziti rest for 5-10 minutes before serving—this allows the layers to set slightly and makes slicing easier. Garnish with 0.25 cup chopped fresh basil leaves just before serving for a bright pop of color and freshness.
Pro Tips For Making Baked Ziti Recipe White Sauce
- Cook Pasta Al Dente: DESCRIPTION: Ziti should have just a bite—no mushy gloop when it comes out of the oven. Toss in fresh pasta (or pre-cooked but drained immediately) and reserve 1 cup of starchy pasta water. That water’s your secret weapon for binding the sauce later.
- Whisk Butter Low: DESCRIPTION: Heat the butter over medium-low while making the roux—high heat burns flour before it browns. I learned this the hard way when my sauce turned gray and tasted like glue. Keep it smooth, not lumpy.
- Skip the Crowding: DESCRIPTION: Don’t pack the baking dish like a sardine can. Loosely layer ziti in a single layer, then top with sauce and cheese. Crowding steams the pasta instead of browning it—you want crispy edges, not soggy noodles.
- Temper the Cream: DESCRIPTION: Warm the heavy cream and milk together over a pot of simmering water (double boiler) before adding it to the roux. Cold cream shocks the sauce and makes it split—like adding ice to hot coffee. Smooth it out first.
Dietary considerations for this baked ziti recipe white sauce
Gluten-Free Adaptation
Swap the traditional ziti for gluten-free pasta like Barilla GF ziti or De Cecco GF penne—both hold up well in baking. Use the same cooking technique, but add 1 extra minute to al dente time since GF pasta tends to finish faster.
For the sauce, ensure your flour is gluten-free all-purpose blend (like Bob’s Red Mill) to maintain thickness.
Watch the sauce consistency carefully—GF pasta releases less starch, so you may need 2-3 extra tablespoons of reserved pasta water to achieve that creamy texture. I’ve found brown rice pasta works best for texture, while chickpea-based pastas can make the sauce slightly grainy.
Dairy-Free Options
Replace heavy cream with full-fat coconut milk (1 can, well-stirred) and whole milk with unsweetened almond milk—the sauce will still be rich but with a subtle coconut undertone.
Use dairy-free mozzarella (like Miyoko’s or Violife) and nutritional yeast (½ cup) mixed with cashew cream (blend 1 cup soaked cashews + ½ cup water) to mimic ricotta.
For Parmesan, nutritional yeast (¼ cup) plus 1 tbsp white miso paste adds depth. The texture won’t be identical, but the umami punch keeps it satisfying. Garnish with fresh basil to brighten the dish—it cuts through the coconut richness beautifully.
Lower-Carb Version
Replace ziti with zucchini noodles (spiralized, lightly sautéed for 2 minutes) or shirataki noodles (rinsed thoroughly and parboiled for 3 minutes). Reduce the sauce by ¼ cup since zoodles absorb less liquid. For extra heartiness, stir in 1 cup cooked, crumbled chicken sausage (check for gluten-free labels).
Cut the ricotta to ½ cup and add ½ cup cauliflower rice (sautéed with garlic) to bulk up the dish without carbs. The sauce will still cling, but the texture becomes lighter. Bake uncovered for 15 minutes—zoodles dry out faster than pasta.
Lactose-Free Adjustments
Use lactose-free heavy cream and milk (like Organic Valley or Lactaid brands) to keep the sauce creamy without triggering digestive issues. For cheese, opt for lactose-free mozzarella (like Green Valley) and lactose-free Parmesan (like Parmela).
The ricotta can be swapped for lactose-free ricotta (made with lactose-free milk) or tofu ricotta (blend 1 cup silken tofu + 1 tbsp lemon juice + 1 tbsp nutritional yeast).
Taste the sauce after adding cheeses—it may need an extra ¼ tsp salt since lactose-free products can taste flatter. The texture stays identical, but the digestive comfort makes it worth the swap for sensitive eaters.
Nut-Free Considerations
Skip the cashew cream in dairy-free versions and rely on silken tofu blended with lemon juice (¼ cup) for ricotta texture. For extra creaminess, stir in 2 tbsp tahini (sesame-free if needed) to the white sauce—it adds richness without nuts.
Always check labels on GF pasta and cheese substitutes for hidden nut cross-contamination warnings.
Garnish with sun-dried tomatoes (¼ cup, chopped) instead of basil to add depth without relying on nut-based toppings. The dish remains vibrant and flavorful while staying safe for nut allergies.
Nutrition facts
Frequently asked questions
Can I use whole milk instead of heavy cream for the white sauce?
You can try, but your sauce will be less rich and creamy. For best results, use half heavy cream and half whole milk—this gives you that velvety texture without being overly heavy. If you must use all whole milk, add an extra 2 tbsp butter to compensate for the reduced fat.
How do I prevent the top of my baked ziti from getting too brown before the center is cooked?
Tent loosely with aluminum foil during the final 10-15 minutes of baking. This lets heat circulate while protecting the top. For extra insurance, bake at 350°F instead of 375°F—it takes slightly longer but gives more even cooking. The cheese should melt completely while the center stays creamy.
Can I make this ahead of time?
Assemble the dish completely (including the cheese topping) and refrigerate for up to 24 hours before baking. When ready, bake at 375°F for 30-35 minutes (covered for 25 minutes, then uncovered). The flavors develop beautifully overnight, and it reheats perfectly. Just add 5-10 minutes to account for the cold start.
What can I substitute if I don't have ricotta?
Blend 1 cup cottage cheese (drained well) with 1 tbsp lemon juice until smooth for a close substitute. Alternatively, use ½ cup sour cream plus ½ cup mashed potato—the texture won't be identical, but it adds creaminess. For a dairy-free option, blend 1 cup silken tofu with 1 tbsp nutritional yeast and a pinch of salt.
Why did my sauce get lumpy?
Lumpy sauce usually means you didn't whisk enough when adding the milk or cream. For next time, whisk vigorously for 1-2 minutes after adding liquids, and keep heat at medium-low while thickening. If it happens, blend the sauce briefly with an immersion blender to smooth it out. The ricotta should also be room temperature to blend seamlessly.
