Baked Ziti

Classic baked ziti with ziti pasta tossed in a rich tomato meat sauce made from ground beef 85/15 and ground pork shoulder, layered with ricotta pockets, mozzarella, and Parmesan, then baked until bubbling with browned cheesy spots on top. Boiling the ziti to a genuine, well-undercooked al dente, a full 2 to 3 minutes short of package directions, is the technique this whole casserole depends on for holding distinct, well-defined tubes rather than bloating into mush — that pasta still has two more rounds of cooking ahead, in the sauce and then in the oven, the same undercook-for-a-double-cook principle used elsewhere in this collection whenever pasta needs to survive real additional cooking time beyond its own initial boil. Cooking the ground meats until genuinely browned, not just grey and steamed, is what builds real fond directly into the sauce’s own depth. Dolloping the ricotta rather than spreading it flat is what produces the classic, creamy ricotta pockets scattered throughout the finished dish rather than one dense, separate layer. The payoff is a casserole with real, hearty contrast — distinct pasta tubes, browned meaty sauce, creamy ricotta pockets, and bubbling, browned mozzarella on top.

Baked ziti showing distinct pasta tubes in rich meat sauce with creamy ricotta pockets and bubbling browned mozzarella, on marble surface

Prep Time : 25 min

Cook Time : 55 min

Servings : 4

Prep Time :

25 min

Cook Time :

55 min

Servings :

4

Ingredients

For the Pasta


• 400g ziti — this one on Amazon


• 4L water, for boiling


• 28g fine salt, for the pasta water

For the Meat Sauce


• 15g olive oil — this one on Amazon


• 1 medium yellow onion, finely diced (about 150g)


• 4 garlic cloves, minced (about 16g)


• 250g ground beef, 85/15


• 250g ground pork shoulder


• 18g tomato paste


• 800g canned crushed tomatoes


• 120g tomato passata or tomato sauce


• 120g water, plus more as needed


• 6g fine salt, plus more to taste


• 2g black pepper


• 1 tsp dried oregano — this one on Amazon


• ½ tsp dried basil — this one on Amazon


• ¼ tsp red pepper flakes, optional


• 1 tsp sugar, only if needed to balance acidity

For the Ricotta Mixture


• 250g whole-milk ricotta — this one on Amazon


• 1 large egg


• 35g grated Parmesan — this one on Amazon


• 10g fresh parsley, finely chopped


• ¼ tsp fine salt


• ¼ tsp black pepper

For Layering and Finishing


• 250g low-moisture mozzarella, shredded — this one on Amazon


• 25g grated Parmesan


• 6–8 basil leaves, torn or sliced, optional for finishing

This post may contain affiliate links. As an Amazon Associate I earn from qualifying purchases, at no additional cost to you.


Directions

  1. Boil the Pasta
    Bring a large pot of water to a full boil and salt it well. Add the ziti and cook until very al dente, about 2–3 minutes less than package directions. The pasta must be undercooked at this stage because it will continue cooking in the sauce and again in the oven. If you boil it fully now, the finished baked ziti will turn soft and bloated instead of holding distinct tubes. Before draining, reserve 120ml pasta water. Drain the pasta and set aside. Do not rinse. That deliberate undercooking accounts for the two full additional cooking stages still ahead — pasta boiled to a normal al dente here would end up considerably overcooked and mushy by the time it’s finished baking.
  2. Make the Meat Sauce
    Heat the olive oil in a large heavy skillet or sauté pan over medium heat. Add the onion and cook for 5–7 minutes, stirring often, until softened and lightly translucent but not deeply browned. Add the garlic and cook for 30 seconds more, just until fragrant. Add the ground beef and ground pork shoulder. Break the meat up well and cook for 8–10 minutes until the meat is browned, the raw color is gone, and much of the moisture has cooked off. Keep cooking until you see actual browning on the meat, not just grey steaming. That browned fond is important for depth of flavor. If there is an excessive amount of rendered fat, spoon off a little, but do not strip the pan completely dry. Add the tomato paste and cook for 1–2 minutes, stirring constantly, until it darkens slightly and loses its raw taste. Add the crushed tomatoes, passata, water, salt, black pepper, oregano, dried basil, and red pepper flakes if using. Stir well and bring to a gentle simmer. Cook uncovered for 20–25 minutes, stirring occasionally, until thickened. The sauce should be slightly thicker than a normal pasta sauce. It must coat the pasta heavily without turning watery. A thin sauce will make the casserole loose and prevent clean slices or spoonfuls. If it reduces too much, loosen with a splash of reserved pasta water. Taste and adjust salt. Add the sugar only if the tomatoes taste notably sharp. Watching specifically for real browning, rather than pulling the meat once it’s simply grey, is what builds the fond responsible for a genuinely deeper, more developed sauce than pale, steamed meat alone would ever produce.
  3. Make the Ricotta Mixture
    In a medium bowl, combine the ricotta, egg, Parmesan, parsley, salt, and pepper. Mix until smooth and evenly combined. The egg helps the ricotta set slightly during baking so the pockets stay creamy but not runny. That egg’s own binding protein is specifically what keeps each dollop holding its shape as a distinct pocket, rather than dissolving loosely into the surrounding sauce once baked.
  4. Combine the Pasta and Sauce
    Add the drained ziti to the meat sauce and toss thoroughly so every tube is coated. If the mixture looks too tight or dry, add a small splash of the reserved pasta water. At this point, the pasta should look saucy, not dry. The oven will absorb and thicken the mixture further. If it already looks dry in the pan, it will bake up heavy and tight. That reserved starchy pasta water, added only as needed, is a genuine tool for loosening the mixture right before it bakes, accounting for how much moisture the oven’s own heat will absorb over the coming bake.
  5. Assemble the Baked Ziti
    Preheat the oven to 220°C / 425°F. Transfer about half of the pasta and sauce mixture to a medium baking dish. Spoon over about half of the ricotta mixture in small dollops rather than spreading it flat. Scatter over about half of the mozzarella. Top with the remaining pasta mixture. Finish with the remaining ricotta in dollops, the remaining mozzarella, and the final Parmesan. Using dollops rather than a solid ricotta layer creates the classic ricotta pockets throughout the baked ziti instead of a separate dense layer. That deliberate dolloping technique, rather than spreading the ricotta flat, is what distributes real creamy pockets evenly throughout the finished dish, letting every serving carry some of that same contrast.
  6. Bake
    Bake uncovered for 20–25 minutes, until the cheese is fully melted, the edges are bubbling, and the top develops browned spots. If you want deeper browning on top, switch to the broiler for 1–2 minutes at the end, watching constantly. Do not walk away — the cheese can go from browned to burnt very quickly. The dish is done when the sauce is visibly bubbling at the edges, the cheese is fully melted and lightly blistered, and the center is hot all the way through. That brief, closely watched broiler finish, used only if needed, builds real extra colour on top quickly without extending the overall bake long enough to dry out the casserole beneath it.
  7. Rest and Finish
    Remove from the oven and let the baked ziti rest for 10–15 minutes before serving. This rest is important. Straight from the oven, the sauce and cheese are too loose and the structure has not settled. Resting allows the casserole to hold together better and gives cleaner spoonfuls with defined pasta, sauce, and cheese pockets. Finish with basil if using. That extended rest lets the whole casserole’s internal structure firm up and settle, protecting every serving’s own defined layers from collapsing into one loose, sliding mass the moment a spoon or knife touches it.

*Notes : 

  • Boiling the ziti to a genuine, well-undercooked al dente deserves recognition as the technique most directly responsible for whether this casserole holds distinct tubes or bloats into mush. That pasta still has two full additional cooking stages ahead of it — tossed hot into the sauce, then baked in the oven — and pasta boiled to a normal, fully cooked al dente simply doesn’t have the structural headroom to survive both of those stages without turning soft and overcooked.
  • Cooking the ground beef and pork until genuinely browned, rather than pulling the meat the moment its raw colour disappears, deserves the same attention this technique receives throughout this collection’s other meat-based sauces. That real browning builds fond directly in the pan, and the recipe’s own explicit distinction between “actual browning” and “just grey steaming” reflects exactly how much depth this one stage adds to the finished sauce.
  • Dolloping the ricotta mixture rather than spreading it into one flat, solid layer deserves genuine respect as the deliberate technique responsible for this dish’s signature texture. That approach distributes distinct, creamy pockets evenly throughout the casserole, giving every serving a real mix of pasta, sauce, and ricotta rather than concentrating the cheese into one separate, dense band.
  • Letting the baked ziti rest for a full 10 to 15 minutes before serving deserves genuine attention as a real, structural necessity rather than simple patience. Straight from the oven, the sauce and cheese are still genuinely loose, and that resting period is specifically what lets the whole casserole’s structure settle enough to produce clean, well-defined spoonfuls rather than a sliding, unstructured mass.

Why This Recipe Works

This recipe works because the ziti is deliberately undercooked, giving it the structural headroom to survive both being tossed in hot sauce and baking in the oven without turning to mush. The ground meats are cooked until genuinely browned, building real fond and depth into the sauce.

The ricotta mixture is bound with egg so it sets into distinct, creamy pockets rather than dissolving, and dolloping it throughout the layers distributes that texture evenly.

Assembling with reserved pasta water as needed accounts for how much moisture the oven will absorb, and a full rest after baking lets the casserole’s structure settle for clean, well-defined servings.


Ingredient Breakdown

Deliberately Undercooked Ziti

The critical technique — gives the pasta the structural headroom to survive both a sauce toss and a full oven bake.

Ground Beef and Pork Shoulder (Genuinely Browned)

The flavour foundation — real browning, not just grey steaming, builds fond directly into the sauce’s depth.

Reduced, Thickened Tomato Sauce

The critical technique — a thicker consistency protects the casserole from turning loose or watery once baked.

Egg-Bound Ricotta Mixture

The critical technique — sets into distinct, creamy pockets during baking rather than dissolving into the surrounding sauce.

Dolloped Ricotta Layering

The critical technique — distributes ricotta pockets evenly throughout the dish, rather than concentrating it in one flat layer.

Low-Moisture Mozzarella

The critical ingredient choice — melts evenly across the top without releasing the excess water fresh mozzarella would.


Flavor Structure Explained 

This baked ziti follows a layered balance model:

  • Hearty pasta foundation (deliberately undercooked ziti)
  • Rich meaty depth (browned ground beef and pork, reduced tomato sauce)
  • Warm background spice (oregano, dried basil, optional red pepper flakes)
  • Creamy pocketed centre (egg-bound, dolloped ricotta mixture)
  • Bubbling melted finish (mozzarella, Parmesan)

Deliberately undercooked ziti provides this casserole’s hearty pasta foundation, built to survive two additional stages of cooking. Browned ground beef and pork, simmered in a reduced tomato sauce, contribute rich, meaty depth throughout. Oregano, dried basil, and optional red pepper flakes add warm background spice. An egg-bound, dolloped ricotta mixture forms a creamy, pocketed centre distinct from the surrounding sauce. Mozzarella and Parmesan finish the dish with a bubbling, browned, melted top that ties every hearty layer of this classic casserole together.


Common Mistakes to Avoid 

  • Boiling the Ziti Fully Before Assembly – This leaves no structural headroom for the sauce toss and oven bake, producing mushy pasta. Always undercook it by 2 to 3 minutes.
  • Pulling the Ground Meat While It’s Still Grey – This misses the real fond that builds genuine depth into the sauce. Always cook until it’s actually browned.
  • Spreading the Ricotta Into One Flat Layer – This produces a single dense band rather than the classic scattered pockets. Always dollop it throughout instead.
  • Assembling With a Watery Sauce – This makes the finished casserole loose and prevents clean slices. Always reduce the sauce until it’s thick enough to coat the pasta heavily.
  • Serving Immediately Without Resting – This leaves the structure unsettled and the servings sloppy. Always let it rest for 10 to 15 minutes before serving.

Variations

All-Beef Version

Substitute all ground beef 85/15 for the pork shoulder if preferred, accepting a slightly leaner, less richly textured finished sauce than the beef-and-pork combination provides.

Extra-Spicy Version

Increase the red pepper flakes for a more assertive, lingering heat throughout the finished casserole, adjusting to taste before the sauce is fully assembled with the pasta.

Make-Ahead Version

Assemble the entire casserole fully, cover it well, and refrigerate for up to 24 hours before baking straight from the refrigerator, adding about 10 extra minutes to the total bake time.

Extra-Cheesy Version

Increase both the mozzarella and the final Parmesan sprinkled on top for a more generously browned, bubbling, and cheese-forward finished top layer.


Storage & Make-Ahead

Ground pork shoulder gives a noticeably better texture and richer flavor than very lean ground pork, and combined with the 85/15 beef, it produces a more classical, fuller meat sauce specifically suited to this style of baked pasta rather than a leaner, thinner result.

Do not overboil the ziti, since this is genuinely one of the main failure points in the whole recipe, and the pasta should still feel distinctly underdone when it’s drained, ready for the two additional rounds of cooking still to come in the sauce and the oven.

The sauce itself must be reduced enough before you assemble the casserole, because if it goes into the baking dish still watery, the finished dish will turn out loose and diluted rather than holding together with clean, well-defined slices or spoonfuls.

Use whole-milk ricotta rather than a lower-fat version for the best creamy pockets and the least grainy texture, and reach for low-moisture mozzarella over fresh, since it melts more evenly across the top and doesn’t release the same excess water fresh mozzarella would.

If making this ahead, assemble the casserole completely, cover it well, and refrigerate for up to 24 hours before baking it straight from the refrigerator with about 10 extra minutes added to the bake time, and when reheating leftovers, cover them first and finish uncovered for the last few minutes so the cheese doesn’t dry out too quickly.


Frequently Asked Questions

Why does the ziti need to be boiled so far short of package directions?

The pasta still has two more full stages of cooking ahead of it — first tossed hot with the sauce, then baked in the oven. Boiling it to a normal al dente now would leave it considerably overcooked and mushy by the time the casserole finishes baking.

Why does the ground meat need to develop real browning rather than just losing its raw colour?

That real browning builds genuine fond directly in the pan, and this stage is specifically what gives the finished sauce its actual depth. Meat pulled while still grey and steaming misses that flavour entirely.

Why is the ricotta mixture dolloped throughout the layers instead of spread flat?

Dolloping distributes distinct, creamy pockets evenly throughout the casserole, giving every serving a genuine mix of pasta, sauce, and ricotta, rather than concentrating the cheese into one separate, dense band.

Why does the baked ziti need to rest for 10 to 15 minutes before serving?

Straight from the oven, the sauce and cheese are still genuinely loose and the structure hasn’t settled. That rest is what lets the whole casserole firm up enough to produce clean, well-defined servings rather than a sliding, unstructured mass.

Are there other classic baked pasta or Italian comfort food dishes worth trying?

Pasta al Forno offers another classic baked pasta direction worth exploring. Lasagne alla Bolognese and Easy Spaghetti and Meatballs are also worth trying for other hearty, meat-sauced pasta dishes, and Eggplant Parmesan and Garlic Knots offer other classic Italian-American comfort food directions worth exploring.



Nutrition Facts 

( per serving )

Calories

~980 kcal

Protein

 52 g

Fat

46g

Carbs

88 g

Calories

~980 kcal

Protein

 52 g

Fat

46 g

Carbs

88 g

Related Recipes

Related Recipes


You might also like

You might also like


Baked ziti showing distinct pasta tubes in rich meat sauce with creamy ricotta pockets and bubbling browned mozzarella, on marble surface

Baked Ziti

Classic baked ziti with ziti pasta tossed in a rich tomato meat sauce made from ground beef 85/15 and ground pork shoulder, layered with ricotta pockets, mozzarella, and Parmesan, then baked until bubbling with browned cheesy spots on top. Boiling the ziti to a genuine, well-undercooked al dente, a full 2 to 3 minutes short of package directions, is the technique this whole casserole depends on for holding distinct, well-defined tubes rather than bloating into mush — that pasta still has two more rounds of cooking ahead, in the sauce and then in the oven, the same undercook-for-a-double-cook principle used elsewhere in this collection whenever pasta needs to survive real additional cooking time beyond its own initial boil. Cooking the ground meats until genuinely browned, not just grey and steamed, is what builds real fond directly into the sauce's own depth. Dolloping the ricotta rather than spreading it flat is what produces the classic, creamy ricotta pockets scattered throughout the finished dish rather than one dense, separate layer. The payoff is a casserole with real, hearty contrast — distinct pasta tubes, browned meaty sauce, creamy ricotta pockets, and bubbling, browned mozzarella on top.
Prep Time 25 minutes
Cook Time 55 minutes
Total Time 1 hour 20 minutes
Course: Main Course
Cuisine: Italian
Calories: 980

Ingredients
  

For the Pasta
  • 400 g ziti
  • 4 L water for boiling
  • 28 g fine salt for the pasta water
For the Meat Sauce
  • 15 g olive oil
  • 1 medium yellow onion finely diced (about 150g)
  • 4 garlic cloves minced (about 16g)
  • 250 g ground beef 85/15
  • 250 g ground pork shoulder
  • 18 g tomato paste
  • 800 g canned crushed tomatoes
  • 120 g tomato passata or tomato sauce
  • 120 g water plus more as needed
  • 6 g fine salt plus more to taste
  • 2 g black pepper
  • 1 tsp dried oregano
  • ½ tsp dried basil
  • ¼ tsp red pepper flakes optional
  • 1 tsp sugar only if needed to balance acidity
For the Ricotta Mixture
  • 250 g whole-milk ricotta
  • 1 large egg
  • 35 g grated Parmesan
  • 10 g fresh parsley finely chopped
  • ¼ tsp fine salt
  • ¼ tsp black pepper
For Layering and Finishing
  • 250 g low-moisture mozzarella shredded
  • 25 g grated Parmesan
  • 6–8 basil leaves torn or sliced, optional for finishing

Method
 

Boil the Pasta
  1. Bring a large pot of water to a full boil and salt it well. Add the ziti and cook until very al dente, about 2–3 minutes less than package directions. The pasta must be undercooked at this stage because it will continue cooking in the sauce and again in the oven. If you boil it fully now, the finished baked ziti will turn soft and bloated instead of holding distinct tubes. Before draining, reserve 120ml pasta water. Drain the pasta and set aside. Do not rinse. That deliberate undercooking accounts for the two full additional cooking stages still ahead — pasta boiled to a normal al dente here would end up considerably overcooked and mushy by the time it’s finished baking.
Make the Meat Sauce
  1. Heat the olive oil in a large heavy skillet or sauté pan over medium heat. Add the onion and cook for 5–7 minutes, stirring often, until softened and lightly translucent but not deeply browned. Add the garlic and cook for 30 seconds more, just until fragrant. Add the ground beef and ground pork shoulder. Break the meat up well and cook for 8–10 minutes until the meat is browned, the raw color is gone, and much of the moisture has cooked off. Keep cooking until you see actual browning on the meat, not just grey steaming. That browned fond is important for depth of flavor. If there is an excessive amount of rendered fat, spoon off a little, but do not strip the pan completely dry. Add the tomato paste and cook for 1–2 minutes, stirring constantly, until it darkens slightly and loses its raw taste. Add the crushed tomatoes, passata, water, salt, black pepper, oregano, dried basil, and red pepper flakes if using. Stir well and bring to a gentle simmer. Cook uncovered for 20–25 minutes, stirring occasionally, until thickened. The sauce should be slightly thicker than a normal pasta sauce. It must coat the pasta heavily without turning watery. A thin sauce will make the casserole loose and prevent clean slices or spoonfuls. If it reduces too much, loosen with a splash of reserved pasta water. Taste and adjust salt. Add the sugar only if the tomatoes taste notably sharp. Watching specifically for real browning, rather than pulling the meat once it’s simply grey, is what builds the fond responsible for a genuinely deeper, more developed sauce than pale, steamed meat alone would ever produce.
Make the Ricotta Mixture
  1. In a medium bowl, combine the ricotta, egg, Parmesan, parsley, salt, and pepper. Mix until smooth and evenly combined. The egg helps the ricotta set slightly during baking so the pockets stay creamy but not runny. That egg’s own binding protein is specifically what keeps each dollop holding its shape as a distinct pocket, rather than dissolving loosely into the surrounding sauce once baked.
Combine the Pasta and Sauce
  1. Add the drained ziti to the meat sauce and toss thoroughly so every tube is coated. If the mixture looks too tight or dry, add a small splash of the reserved pasta water. At this point, the pasta should look saucy, not dry. The oven will absorb and thicken the mixture further. If it already looks dry in the pan, it will bake up heavy and tight. That reserved starchy pasta water, added only as needed, is a genuine tool for loosening the mixture right before it bakes, accounting for how much moisture the oven’s own heat will absorb over the coming bake.
Assemble the Baked Ziti
  1. Preheat the oven to 220°C / 425°F. Transfer about half of the pasta and sauce mixture to a medium baking dish. Spoon over about half of the ricotta mixture in small dollops rather than spreading it flat. Scatter over about half of the mozzarella. Top with the remaining pasta mixture. Finish with the remaining ricotta in dollops, the remaining mozzarella, and the final Parmesan. Using dollops rather than a solid ricotta layer creates the classic ricotta pockets throughout the baked ziti instead of a separate dense layer. That deliberate dolloping technique, rather than spreading the ricotta flat, is what distributes real creamy pockets evenly throughout the finished dish, letting every serving carry some of that same contrast.
Bake
  1. Bake uncovered for 20–25 minutes, until the cheese is fully melted, the edges are bubbling, and the top develops browned spots. If you want deeper browning on top, switch to the broiler for 1–2 minutes at the end, watching constantly. Do not walk away — the cheese can go from browned to burnt very quickly. The dish is done when the sauce is visibly bubbling at the edges, the cheese is fully melted and lightly blistered, and the center is hot all the way through. That brief, closely watched broiler finish, used only if needed, builds real extra colour on top quickly without extending the overall bake long enough to dry out the casserole beneath it.
Rest and Finish
  1. Remove from the oven and let the baked ziti rest for 10–15 minutes before serving. This rest is important. Straight from the oven, the sauce and cheese are too loose and the structure has not settled. Resting allows the casserole to hold together better and gives cleaner spoonfuls with defined pasta, sauce, and cheese pockets. Finish with basil if using. That extended rest lets the whole casserole’s internal structure firm up and settle, protecting every serving’s own defined layers from collapsing into one loose, sliding mass the moment a spoon or knife touches it.

Notes

Boiling the ziti to a genuine, well-undercooked al dente deserves recognition as the technique most directly responsible for whether this casserole holds distinct tubes or bloats into mush. That pasta still has two full additional cooking stages ahead of it — tossed hot into the sauce, then baked in the oven — and pasta boiled to a normal, fully cooked al dente simply doesn’t have the structural headroom to survive both of those stages without turning soft and overcooked.
Cooking the ground beef and pork until genuinely browned, rather than pulling the meat the moment its raw colour disappears, deserves the same attention this technique receives throughout this collection’s other meat-based sauces. That real browning builds fond directly in the pan, and the recipe’s own explicit distinction between “actual browning” and “just grey steaming” reflects exactly how much depth this one stage adds to the finished sauce.
Dolloping the ricotta mixture rather than spreading it into one flat, solid layer deserves genuine respect as the deliberate technique responsible for this dish’s signature texture. That approach distributes distinct, creamy pockets evenly throughout the casserole, giving every serving a real mix of pasta, sauce, and ricotta rather than concentrating the cheese into one separate, dense band.
Letting the baked ziti rest for a full 10 to 15 minutes before serving deserves genuine attention as a real, structural necessity rather than simple patience. Straight from the oven, the sauce and cheese are still genuinely loose, and that resting period is specifically what lets the whole casserole’s structure settle enough to produce clean, well-defined spoonfuls rather than a sliding, unstructured mass.