Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) ziti or penne pasta
- 2 tbsp olive oil, plus more for greasing
- 1 medium onion, finely diced
- 4 cloves garlic, minced
- 1 1/4 lb (570 g) ground beef (80–85% lean)
- 2 tbsp tomato paste
- 1 (28-oz / 800 g) can crushed tomatoes
- 1 tsp dried Italian seasoning, 1/2 tsp dried oregano
- 1/2 tsp red pepper flakes (optional)
- 2 cups (16 oz / 450 g) whole-milk ricotta
- 3 cups (12 oz / 340 g) shredded mozzarella, divided
- 1 cup (3 oz / 85 g) grated Parmesan, divided
- 1 large egg
- 2 tbsp chopped fresh parsley or basil, plus extra for garnish
- Salt and black pepper
Do This
- 1. Preheat oven to 375°F (190°C). Grease a 9×13 in (23×33 cm) baking dish. Bring a large pot of salted water to a boil.
- 2. Make sauce: Sauté onion in olive oil until soft, add garlic, then brown ground beef. Stir in tomato paste, crushed tomatoes, Italian seasoning, oregano, red pepper flakes, salt, and pepper. Simmer 15–20 minutes.
- 3. Cook pasta in boiling water until just shy of al dente (about 1–2 minutes less than package directions). Reserve 1/2 cup pasta water, then drain.
- 4. Mix cheeses: In a bowl, combine ricotta, 2 cups mozzarella, 1/2 cup Parmesan, egg, parsley or basil, 1/4 tsp salt, and 1/4 tsp pepper.
- 5. Toss drained pasta with most of the beef sauce (thin with reserved pasta water if needed) so it is well coated.
- 6. Layer: Spread a thin layer of sauce in dish, add half the sauced pasta, dollop half the ricotta mix, repeat. Top with remaining sauce, 1 cup mozzarella, and 1/2 cup Parmesan.
- 7. Cover with foil and bake 20 minutes, then uncover and bake 10–15 minutes until browned and bubbly. Rest 10 minutes before serving, garnish with herbs.
Why You’ll Love This Recipe
- Classic comfort food: a bubbling, cheesy pasta bake with rich beefy marinara and stretchy mozzarella.
- Family-friendly and crowd-pleasing, perfect for weeknights, potlucks, or casual entertaining.
- Great for make-ahead: assemble earlier in the day or freeze for a future easy dinner.
- Flexible base recipe that welcomes swaps like sausage, extra veggies, or different cheeses.
Grocery List
- Produce: 1 medium yellow onion, 4 cloves garlic, fresh parsley or basil (plus extra for garnish)
- Dairy: Whole-milk ricotta, shredded mozzarella cheese, grated Parmesan cheese, 1 large egg
- Pantry: Ziti or penne pasta, olive oil, tomato paste, crushed tomatoes, dried Italian seasoning, dried oregano, red pepper flakes (optional), kosher salt, black pepper, nonstick spray or extra oil for greasing
Full Ingredients
For the Pasta
- 1 lb (450 g) dried ziti or penne pasta
- 1 tbsp kosher salt (for pasta water)
For the Beef Marinara Sauce
- 2 tbsp olive oil
- 1 medium yellow onion, finely diced (about 1 cup)
- 4 cloves garlic, minced
- 1 1/4 lb (570 g) ground beef, 80–85% lean
- 2 tbsp tomato paste
- 1 (28-oz / 800 g) can crushed tomatoes
- 1 tsp dried Italian seasoning
- 1/2 tsp dried oregano
- 1/2 tsp red pepper flakes (optional, for a gentle heat)
- 1 tsp kosher salt (or to taste)
- 1/2 tsp freshly ground black pepper
- 1 tsp sugar (optional, to balance acidity)
For the Cheese Mixture
- 2 cups (16 oz / 450 g) whole-milk ricotta cheese
- 3 cups (12 oz / 340 g) shredded low-moisture mozzarella cheese, divided
- 1 cup (3 oz / 85 g) finely grated Parmesan cheese, divided
- 1 large egg
- 2 tbsp chopped fresh flat-leaf parsley or basil (plus more for garnish)
- 1/4 tsp kosher salt
- 1/4 tsp freshly ground black pepper
For Assembly
- Olive oil or nonstick spray, for greasing the baking dish
- Up to 1/2 cup (120 ml) reserved pasta cooking water (as needed to loosen the sauce)

Step-by-Step Instructions
Step 1: Preheat the Oven and Prepare Your Dish
Preheat your oven to 375°F (190°C) with a rack in the center. Lightly grease a 9×13-inch (23×33 cm) baking dish with olive oil or nonstick spray to prevent sticking and to make serving easier later.
Set a large pot of water (at least 4–5 quarts / 3.8–4.7 L) over high heat. Once it comes to a boil, add 1 tablespoon kosher salt. Keep it at a gentle boil while you start the sauce so it is ready for the pasta.
Step 2: Make the Beef Marinara Sauce
In a large, deep skillet or Dutch oven, heat 2 tablespoons olive oil over medium heat. Add the diced onion and cook, stirring occasionally, until soft and translucent, about 5–7 minutes. Add the minced garlic and cook for 30–60 seconds more, just until fragrant.
Add the ground beef to the pan, breaking it up with a wooden spoon. Cook until fully browned and no pink remains, about 6–8 minutes. If there is a lot of excess fat, spoon off a bit, leaving a thin coating in the pan for flavor.
Stir in the tomato paste and cook for 1 minute to caramelize it slightly. Add the crushed tomatoes, dried Italian seasoning, dried oregano, red pepper flakes (if using), 1 teaspoon kosher salt, 1/2 teaspoon black pepper, and sugar (if using). Stir well to combine, then bring to a gentle simmer.
Reduce the heat to low and let the sauce simmer, uncovered, for 15–20 minutes, stirring occasionally. It should thicken slightly but still be saucy enough to generously coat the pasta. Taste and adjust seasoning with additional salt or pepper if needed. Turn off the heat and set aside.
Step 3: Cook the Pasta Until Just Shy of Al Dente
While the sauce simmers, cook the pasta. Add the ziti or penne to the boiling salted water and cook until just shy of al dente—about 1–2 minutes less than the package directions. The pasta will continue cooking in the oven, so slightly undercooking it now keeps it from turning mushy later.
Before draining, carefully scoop out about 1/2 cup (120 ml) of the starchy pasta water and set it aside. Drain the pasta well but do not rinse it; the starch helps the sauce cling to the noodles.
Step 4: Mix the Cheeses
In a medium mixing bowl, combine the ricotta, 2 cups (8 oz / 225 g) of the shredded mozzarella, and 1/2 cup (1 1/2 oz / 40 g) of the grated Parmesan. Add the egg, chopped parsley or basil, 1/4 teaspoon salt, and 1/4 teaspoon black pepper.
Stir until everything is fully blended and the mixture is smooth and creamy. This ricotta mixture will create those rich, cheesy pockets throughout the baked ziti.
Step 5: Combine the Pasta and Beef Sauce
Return the drained pasta to the now-empty pasta pot or a large mixing bowl. Pour most of the beef marinara sauce over the pasta, reserving about 1 to 1 1/2 cups to use as a top layer in the baking dish.
Toss gently but thoroughly so every piece of pasta is well coated. If the mixture seems too thick or dry, stir in a splash or two of the reserved pasta cooking water until it looks nicely saucy. Well-sauced pasta is key to a moist, luxurious casserole.
Step 6: Layer the Ziti and Cheese in the Baking Dish
Spread a thin layer of the reserved beef marinara sauce over the bottom of the greased baking dish. Add about half of the sauced pasta in an even layer.
Using a spoon, drop half of the ricotta cheese mixture in small dollops over this layer of pasta, spacing it fairly evenly so every scoop later gets some cheesy goodness.
Add the remaining sauced pasta on top, then dot with the remaining ricotta mixture. Spoon the last of the reserved beef marinara over the top, spreading it to cover as much pasta as possible.
Sprinkle the remaining 1 cup (4 oz / 115 g) shredded mozzarella and 1/2 cup (1 1/2 oz / 40 g) grated Parmesan evenly over the surface.
Step 7: Bake Until Bubbling and Golden
Cover the baking dish tightly with foil, tenting it slightly so it does not stick to the cheese. Bake in the preheated 375°F (190°C) oven for 20 minutes.
Remove the foil and continue baking for another 10–15 minutes, or until the cheese on top is melted, bubbling, and lightly golden brown around the edges. If you would like a deeper golden top, you can broil for 1–2 minutes at the end, watching very closely to avoid burning.
Remove the dish from the oven and let the baked ziti rest for at least 10 minutes before serving. This brief rest helps the casserole set up, making it easier to slice and serve neat portions. Sprinkle with extra chopped parsley or basil just before bringing it to the table.
Pro Tips
- Undercook the pasta slightly. Pull the pasta 1–2 minutes before al dente so it does not turn soft once baked with the sauce and cheese.
- Season the sauce well. Taste the beef marinara before mixing with the pasta; a well-seasoned sauce is what keeps this dish from tasting flat.
- Use whole-milk ricotta and freshly shredded cheese. Whole-milk ricotta and cheese you shred yourself melt creamier and give the casserole a richer texture.
- Let it rest before serving. A short 10–15 minute rest after baking allows the layers to settle and makes for cleaner slices and better texture.
- Broil briefly for extra color. For a restaurant-style look, finish under the broiler for 1–2 minutes for a deeply browned, slightly crisp cheesy top.
Variations
- Beef and Sausage Ziti al Forno: Replace half of the ground beef with sweet or hot Italian sausage (casings removed). Brown together and proceed with the recipe for a spicier, more complex flavor.
- Veggie-Loaded Baked Ziti: Sauté 8 oz (225 g) sliced mushrooms, 1 diced bell pepper, or a few handfuls of spinach with the onions before adding the beef. This adds extra flavor, color, and nutrition.
- Extra-Cheesy Four-Cheese Version: Add 1 cup (4 oz / 115 g) shredded provolone or fontina to the cheese mixture for an even more indulgent, stretchy cheese pull.
Storage & Make-Ahead
To store leftovers: Let the baked ziti cool to room temperature, then cover the baking dish tightly or transfer portions to airtight containers. Refrigerate for up to 3–4 days. Reheat individual portions in the microwave or cover and reheat in a 350°F (175°C) oven until warmed through.
To freeze baked: Cool the fully baked ziti completely, wrap tightly in plastic wrap and foil, and freeze for up to 2 months. Thaw overnight in the refrigerator, then reheat covered at 350°F (175°C) for 25–35 minutes, or until hot in the center.
To assemble ahead (unbaked): Assemble the casserole up to the point of baking, cover tightly with foil, and refrigerate for up to 24 hours. Bake straight from the fridge at 375°F (190°C), adding 5–10 extra minutes to the covered bake time. You can also wrap well and freeze the unbaked casserole for up to 2 months; thaw overnight before baking.
Nutrition (per serving)
Approximate values for 1 of 8 servings: about 560 calories; 32 g protein; 53 g carbohydrates; 24 g fat; 11 g saturated fat; 85 mg cholesterol; 960 mg sodium; 3 g fiber; 9 g total sugars. Actual values will vary based on specific brands and any substitutions you make.
