Cheese and Spinach Stuffed Shells

Jumbo pasta shells get packed with a ricotta, mozzarella, and spinach filling, then baked in marinara until the sauce bubbles at the edges and the cheese on top turns spotty brown. Each shell holds its shape on the plate instead of collapsing into a pile, which is what separates a good pan of stuffed shells from a soupy one. This version uses a no-cook filling, so once the pasta is boiled, the rest of the work is assembly.

Bake covered stuffed shells at 350°F for about 25 minutes, then uncover and bake another 8 to 10 minutes until the sauce is bubbling and the cheese on top has melted and started to color. Let the pan rest for 10 minutes before serving so the filling sets and the shells hold together when you lift them out.

Why You’ll Love It

  • Each serving is self-contained. Because the filling stays inside the shell instead of layering like lasagna, portions come apart clean, so this holds up well for a potluck or a plate you’re carrying to the table.
  • The filling needs zero pre-cooking. Ricotta, mozzarella, spinach, and egg go into the bowl raw and get their only cooking in the oven, which keeps the prep list short.
  • It reheats without drying out. The sauce underneath and over the shells keeps the pasta from turning tough the second or third day, unlike a dry baked pasta dish.
  • It freezes well before or after baking. You can build a second pan on the same night and freeze it for a night when cooking isn’t happening.

Ingredients

For the pasta

  • 1 (12 oz) box jumbo pasta shells (you’ll use 24 to 26 of the least-torn shells; boil a few extra to cover breakage)
  • 1 tablespoon salt, for the pasta water

For the filling

  • 15 oz whole-milk ricotta (the fat carries flavor and keeps the filling from turning grainy when baked)
  • 10 oz frozen chopped spinach, thawed and squeezed completely dry (leftover water here is the main cause of a watery filling)
  • 2 cups shredded mozzarella, divided (1½ cups for the filling, ½ cup for the top)
  • ¾ cup grated Parmesan
  • 1 large egg (binds the filling so it slices cleanly instead of oozing out when the shell is cut)
  • 2 garlic cloves, minced
  • ¼ cup chopped fresh basil, plus extra for serving
  • ½ teaspoon salt
  • ¼ teaspoon black pepper
  • Pinch of ground nutmeg (optional; a small, traditional lift for spinach and ricotta, easy to skip)

For assembly

  • 3½ cups marinara sauce, store-bought or homemade, divided

Recipe Timing

  • Prep time: 25 minutes
  • Cook time: 35 minutes
  • Rest time: 10 minutes
  • Total time: 1 hour 10 minutes
  • Servings: 6 (about 4 stuffed shells per serving)
  • Difficulty: Easy, mostly assembly time rather than skill
  • Cuisine: Italian-American
  • Course: Dinner, main course
A baking dish of cheese and spinach stuffed shells in marinara sauce, topped with melted, lightly browned mozzarella and fresh basil.

Substitutions

Ricotta. Cottage cheese blended smooth is a workable budget swap, but the filling comes out looser and slightly milder, since ricotta has less moisture and a firmer curd. If you use cottage cheese, drain it well first.

Spinach. Fresh spinach works in place of frozen. Wilt about 10 oz of fresh spinach in a dry pan first, then squeeze it dry the same way you would frozen. Either one is fine here; the squeezing step matters more than which form you start with.

Marinara. A good jarred marinara is genuinely fine for this recipe. The sauce spends 35 minutes in the oven under cheese, and the ricotta filling carries most of the flavor, so homemade sauce isn’t doing extra work that store-bought can’t.

Egg. The egg is what keeps the filling from running when you cut into a shell. Skipping it isn’t recommended here; the filling will still taste fine but will be noticeably softer and won’t hold a clean slice.

Cheese. Freshly grated mozzarella and Parmesan melt smoother than pre-shredded bags, which are coated in a starch that resists melting. If time is tight, pre-shredded still works; the top layer just won’t pull quite as long.

Allergen and Dietary Disclosure

This recipe contains milk (ricotta, mozzarella, Parmesan), egg, and wheat/gluten (pasta shells).

  • Milk: dairy-free ricotta and mozzarella alternatives exist and can be swapped in, though the filling will set differently and may taste noticeably different.
  • Egg: no substitute is confirmed to work as a binder in this specific filling; if you need to leave it out, expect a softer filling that doesn’t hold a clean slice.
  • Wheat/gluten: gluten-free jumbo shells are sold by several brands and can replace the wheat shells directly, though they tend to be more fragile when boiling and stuffing, so handle them gently.

Cross-contamination risk and ingredient formulations vary by brand and by kitchen. If you or someone you’re cooking for has a food allergy, check every label yourself and use your own judgment. This recipe is not claimed to be safe for anyone with a specific allergy.

Step-by-Step Instructions

  1. Boil the shells. Bring a large pot of well-salted water to a boil. Add the pasta shells and cook 2 minutes less than the package’s al dente time, stirring occasionally so they don’t stick together. Doneness cue: shells should bend without tearing but still have a firm bite at the center.
  2. Drain and cool. Drain the shells and rinse under cold water until they’re cool enough to handle. Why this works: stopping the cooking here keeps the shells from going soft and splitting while you’re busy filling the rest of them.
  3. Make the filling. In a large bowl, combine the ricotta, squeezed-dry spinach, 1½ cups mozzarella, Parmesan, egg, garlic, basil, salt, pepper, and nutmeg if using. Stir until evenly combined. Food safety note: this filling contains raw egg and must reach a safe internal temperature during baking; don’t taste it before the dish is fully cooked.
Ricotta and spinach filling being piped into a jumbo pasta shell from a plastic bag with the corner snipped off.
  1. Sauce the pan. Preheat the oven to 350°F. Spread 1½ cups of marinara evenly across the bottom of a 9×13 baking dish. Why this works: a sauce layer under the shells keeps them from sticking to the dish and stops the bottoms from drying out during baking.
  2. Stuff the shells. Spoon or pipe about 2 tablespoons of filling into each shell. A gallon ziplock bag with one corner snipped off works as a piping bag and is faster and less messy than a spoon alone. Doneness cue: shells should look full and rounded but not stretched or splitting at the seam.
  3. Arrange the shells. Place the stuffed shells filling-side up in the baking dish, packed close enough to touch. Spoon the remaining 2 cups of marinara over the top, covering the shells as much as possible so no exposed pasta dries out in the oven.
  4. Bake covered. Cover the dish tightly with foil and bake for 25 minutes. Doneness cue: sauce should be bubbling gently at the edges of the dish when you check.
  5. Bake uncovered. Remove the foil, scatter the remaining ½ cup mozzarella over the top, and bake uncovered for 8 to 10 more minutes. Doneness cue: cheese should be fully melted with light golden brown spots, and the center of the dish should reach 165°F.
  6. Rest before serving. Let the dish sit for 10 minutes out of the oven before serving. Why this works: the filling is still soft right out of the oven; resting lets it firm up enough that the shells hold together when you lift them onto a plate.
Baked stuffed shells with melted, bubbling mozzarella and browned spots straight out of the oven.

Key Tips

  • Boil a few extra shells. Even careful handling tears a couple of shells in every box; having 2 or 3 spares means you don’t come up short at the stuffing stage.
  • Use a piping bag, not just a spoon. A cut-corner ziplock bag fills a shell in about two seconds and keeps the ricotta off the rim, where it tends to burn under the broiler-level heat near the top of the dish.
  • Don’t skip the sauce layer under the shells. Shells set directly on a dry baking dish stick and scorch on the bottom well before the tops are done.
  • Grate your own cheese if you have five extra minutes. Pre-shredded cheese is coated to prevent clumping in the bag, and that same coating keeps it from melting as smoothly on top of the dish.
  • Let the pan rest before cutting in. Serving straight from the oven is the single most common reason shells fall apart on the plate.

Common Mistakes and Troubleshooting

  • Shells tear when you try to stuff them. This usually means they were boiled too long. Pull them 2 full minutes before the package’s al dente time; they’ll finish softening in the oven.
  • The filling turns watery and pools in the pan. Spinach that wasn’t squeezed dry is almost always the cause. Wring it out in a clean kitchen towel until no more water comes out, not just a light drain in a colander.
  • The shells look done on top but the center is still cool. This happens when the dish goes into the oven cold from the fridge without extra time. Add 10 to 15 minutes to the covered bake if you’re starting from a chilled, make-ahead pan.
  • Filling spills out during baking. Overstuffed shells expand and split as the filling heats. Stick to about 2 tablespoons per shell; a rounded, not overflowing, fill.

Variations

  • Add meat. Brown ½ lb ground beef or chicken Italian sausage, drain well, and stir it into the filling for a heartier version. Ground beef makes the filling firmer; sausage adds more seasoning on its own.
  • Swap in mushrooms. Sauté 8 oz sliced mushrooms until browned and dry, then use them in place of the spinach for an earthier, less bright filling.
  • Use a vodka cream sauce. Replace the marinara with a vodka tomato cream sauce for a richer, less acidic dish that pairs closer to the ricotta’s sweetness.
  • Add roasted red peppers. Fold ½ cup chopped roasted red peppers into the filling for sweetness and color without changing the technique.

Serving Suggestions

  • Garlic bread for soaking up extra sauce (suggested: link to a garlic bread recipe once published)
  • A simple green salad with a sharp vinaigrette to cut the richness
  • Roasted broccoli or broccolini, which holds up well next to a heavy sauce
  • Garlic dinner rolls, if garlic bread already feels like too much (suggested: link to your Pasta category hub)
  • A light side of sautéed zucchini for a vegetable that doesn’t compete with the tomato sauce

Storage, Reheating, and Freezing

Storage. Keep leftovers in an airtight container in the refrigerator for up to 4 days.

Reheating. Warm covered with foil in a 350°F oven for 15 to 20 minutes, or microwave individual portions in 45-second bursts. The oven method keeps the top from turning rubbery.

Freezing. This dish freezes well both before and after baking. Wrap the dish tightly in plastic wrap and then foil, and freeze for up to 3 months. Thaw overnight in the refrigerator before baking or reheating.

Make-ahead. Assemble the shells in the baking dish up to 24 hours in advance, cover tightly, and refrigerate unbaked. Add 10 to 15 minutes to the covered bake time since the dish will be going into the oven cold.

Nutrition Information

Per serving (about 4 stuffed shells with sauce):

  • Calories: 420
  • Protein: 24g
  • Carbohydrates: 38g
  • Fat: 20g
  • Fiber: 3g
  • Sugar: 7g
  • Sodium: 750mg

These numbers are estimates calculated from typical ingredient values. Actual numbers vary with the brands, cuts, and exact portion sizes you use. If you’re tracking intake closely, calculate the nutrition from your specific ingredients instead of relying on this estimate.

Frequently Asked Questions

Can I make stuffed shells ahead of time? Yes. Assemble the full dish, cover it tightly, and refrigerate it unbaked for up to 24 hours. Bake straight from the fridge, adding 10 to 15 minutes to the covered bake time to account for the cold start.

How do I keep stuffed shells from falling apart? Boil the shells 2 minutes under the package’s al dente time so they stay firm enough to handle, and let the finished dish rest 10 minutes before serving. Both steps matter more than any single ingredient choice.

Can you freeze stuffed shells? Yes, both before and after baking. Wrap the dish tightly in plastic and foil and freeze for up to 3 months, then thaw overnight in the refrigerator before baking or reheating.

What’s the difference between stuffed shells and manicotti? Stuffed shells use jumbo pasta shells filled by hand or with a piping bag, while manicotti uses long pasta tubes that are typically filled by piping from one end. The filling and sauce are usually nearly identical; the shape of the pasta is the main difference.

How many shells does a box make, and how many do I need for this recipe? A standard 12 oz box holds around 40 jumbo shells, but several always tear during boiling. This recipe uses 24 to 26 good shells, so boiling the whole box gives you enough of a buffer.

Can I add meat to the filling? Yes. Cooked, well-drained ground beef or chicken Italian sausage stirs into the filling easily and makes the dish heartier without changing the method.

Do the shells need to be fully cooked before stuffing? No, and they shouldn’t be. Pull them 2 minutes before the package’s al dente time. They finish cooking in the oven, and starting slightly underdone is what keeps them from tearing when you stuff them.

Conclusion

Stuffed shells come down to two things: shells that are boiled just short of done so they don’t tear, and a filling wrung dry enough that it sets instead of pooling. Get those two right and the rest of the recipe, sauce on the bottom, cheese on top, a short rest before serving, mostly takes care of itself. It’s a dish built for a full pan and a crowd, and it holds up just as well the second night as the first.

A baking dish of cheese and spinach stuffed shells in marinara sauce, topped with melted, lightly browned mozzarella and fresh basil.

Cheese and Spinach Stuffed Shells

Jumbo pasta shells stuffed with a ricotta, mozzarella, and spinach filling, baked in marinara until bubbling and golden on top.
Prep Time 25 minutes
Cook Time 35 minutes
Rest Time 10 minutes
Total Time 1 hour 10 minutes
Servings: 6 people
Course: Dinner
Cuisine: Italian-American
Calories: 420

Ingredients
  

  • – 1 12 oz box jumbo pasta shells
  • – 1 tablespoon salt for pasta water
  • – 15 oz whole-milk ricotta
  • – 10 oz frozen chopped spinach thawed and squeezed dry
  • – 2 cups shredded mozzarella divided
  • – ¾ cup grated Parmesan
  • – 1 large egg
  • – 2 garlic cloves minced
  • – ¼ cup chopped fresh basil plus extra for serving
  • – ½ teaspoon salt
  • – ¼ teaspoon black pepper
  • – Pinch ground nutmeg optional
  • – 3½ cups marinara sauce divided

Method
 

  1. Boil pasta shells 2 minutes under package al dente time; shells should bend without tearing.
  2. Drain and rinse under cold water until cool enough to handle.
  3. Combine ricotta, spinach, 1½ cups mozzarella, Parmesan, egg, garlic, basil, salt, pepper, and nutmeg in a bowl.
  4. Preheat oven to 350°F. Spread 1½ cups marinara in a 9×13 baking dish.
  5. Fill each shell with about 2 tablespoons of filling.
  6. Arrange shells filling-side up in the dish; top with remaining 2 cups marinara.
  7. Cover and bake 25 minutes, until sauce bubbles at the edges.
  8. Uncover, top with remaining ½ cup mozzarella, and bake 8 to 10 minutes until melted, lightly browned, and center reaches 165°F.
  9. Rest 10 minutes before serving.

Notes

Vegetarian as written (no meat). Freezes well before or after baking, up to 3 months. Can be assembled up to 24 hours ahead and refrigerated unbaked; add 10 to 15 minutes to the covered bake time from cold.

Cooked Curious