There’s something deeply comforting about a bubbling dish of pasta emerging from the oven, its cheesy top golden and its aroma filling the kitchen. For me, classic stuffed shells are the epitome of a perfect family meal or a stress-free dish for entertaining. They feel special, yet the process is wonderfully straightforward.
This recipe is the result of years of tweaking in both restaurant and home kitchens to achieve the ideal balance: tender pasta shells that hold their shape, a rich and flavorful ricotta filling that doesn’t dry out, and a sauce that brings it all together. You can expect a satisfying, cheesy, and saucy bake that will have everyone asking for seconds. Let’s make a batch that’s guaranteed to become a regular in your dinner rotation.
- Crowd-Pleasing Comfort Food: This dish is universally loved, making it perfect for family dinners, potlucks, or feeding a group. The combination of pasta, cheese, and tomato sauce is a timeless winner.
- Excellent for Make-Ahead Meals: You can assemble the entire dish hours or even a day in advance and simply pop it in the oven when you’re ready. It also freezes beautifully before or after baking.
- Simple, Accessible Ingredients: You likely have most of these items in your pantry or can find them easily at any grocery store. No fancy or hard-to-source components are required.
- Highly Customizable: The basic recipe is a fantastic canvas. You can easily add spinach, ground meat, or different herbs to suit your taste or what you have on hand.
- Perfect Texture Every Time: My tested method ensures the shells don’t become mushy, the filling stays creamy, and the cheese topping gets perfectly melted and slightly browned.
Ingredients You’ll Need
Let’s gather our ingredients—this is where simple, quality components come together to create something truly special. Using whole milk ricotta will give you a richer, creamier filling, and a good-quality jarred marinara can save time without sacrificing flavor. If your ricotta seems watery, let it drain in a fine-mesh strainer for 15 minutes; this one small step prevents a soggy bake.
For the cheese, I recommend shredding your own mozzarella from a block, as pre-shredded varieties contain anti-caking agents that can make the melt less smooth.
- Jumbo Pasta Shells: The vessel for all that delicious filling. Cooking them to al dente is crucial so they hold their shape during baking.
- Whole Milk Ricotta Cheese: The base of our filling. The higher fat content means better flavor and creaminess.
- Egg: Acts as a binder for the cheese filling, helping it set as it bakes.
- Mozzarella Cheese: Provides that iconic, stretchy melt. We use it both inside the filling and on top.
- Parmesan Cheese: Adds a salty, nutty depth of flavor to the filling and the golden topping.
- Fresh Parsley & Dried Oregano: These herbs bring a fresh, aromatic quality that brightens the rich cheese.
- Garlic Powder: While I love fresh garlic, powder distributes more evenly in the filling without creating wet pockets.
- Marinara Sauce: Choose a brand you enjoy eating on its own. You’ll need about 24 ounces.
- Kosher Salt & Black Pepper: For seasoning every layer.
Note: You’ll find the complete list of ingredients, along with their exact measurements, in the printable recipe card at the bottom of this post.
Kitchen Equipment Needed
You don’t need any specialized equipment for this recipe. A standard 9×13 inch baking dish is essential. A large pot for boiling the pasta, a colander for draining, and a couple of mixing bowls will handle the rest.
If you want to make the stuffing process extra neat, a piping bag (or even a zip-top bag with a corner snipped off) is a helpful but optional tool. Have a box grater ready if you’re shredding your own cheese, which I highly recommend for the best melt.
How to Make Classic Stuffed Shells Recipe
Step 1: Cook and Prepare the Pasta Shells
Bring a large pot of water to a rolling boil and salt it generously—it should taste like the sea. This is your only chance to season the pasta itself. Cook the jumbo shells according to the package directions for al dente, which is usually a minute or two less than the full cook time.
Trust me, they will continue to cook in the oven, and this prevents them from becoming mushy. Drain them immediately and give them a quick rinse with cool water to halt the cooking process. Drizzle them with a tiny bit of olive oil and spread them out on a tray so they don’t stick together while you prepare the filling.
Step 2: Create the Creamy Cheese Filling
While the pasta cooks, let’s make the heart of the dish. In a large bowl, combine the drained ricotta, egg, most of your mozzarella and Parmesan (reserving some for the top), the chopped parsley, oregano, garlic powder, salt, and pepper. Use a fork to mix it gently but thoroughly.
You want everything evenly distributed without overworking the ricotta. This is the time to taste a small bit—adjust the seasoning if needed. Believe me, a well-seasoned filling makes all the difference.
Step 3: Assemble the Bake
Lightly coat your baking dish with olive oil. Spread about one cup of the marinara sauce in a thin, even layer on the bottom. This creates a saucy bed that prevents the shells from sticking and adds moisture.
Now, take a shell in your hand and fill it with a generous tablespoon of the cheese mixture. A small spoon works, but a piping bag is even easier. Don’t overstuff!
Place each stuffed shell seam-side up in the dish. They should fit snugly in a single layer.
Step 4: Sauce, Cheese, and Bake
Once all shells are nestled in, pour the remaining marinara sauce over them. You don’t need to drown them—just a good covering. Now, sprinkle the reserved mozzarella and Parmesan evenly over the top.
Cover the dish tightly with aluminum foil. This initial covered bake allows the heat to penetrate and cook the filling through without over-browning the top. Bake at 375°F for 25 minutes.
Step 5: Brown and Rest Before Serving
Here comes the satisfying part. After 25 minutes, carefully remove the foil (watch for steam!). Return the dish to the oven, uncovered, for another 15-20 minutes.
You’re looking for bubbly sauce around the edges and a beautifully golden, melted cheese topping. Tip from me: resist the urge to cut in right away! Let the dish rest on the counter for a full 10 minutes.
This allows the cheesy filling to set slightly, so you get perfect, intact shells when you serve. Garnish with a little extra fresh parsley or basil.
- The Al Dente Rule: This is non-negotiable for a good texture. An overcooked shell will tear when stuffed and turn to mush in the oven. Test one a minute early—it should be pliable but still have a slight firmness at the center.
- Drain Your Ricotta: If your ricotta has any visible liquid, drain it. Wet ricotta leads to a watery filling that can make the baked dish soggy. A quick drain in a fine-mesh strainer for 15 minutes solves this.
- Room Temperature Ingredients: For the smoothest filling, let your ricotta and egg sit out for 20-30 minutes before mixing. Cold ricotta is harder to blend evenly and can lead to a lumpy texture.
- Don’t Skip the Resting Time: Letting the baked dish rest before serving is a key professional step. It allows the proteins in the cheese and egg to relax and set, so your servings come out clean and the flavors meld perfectly.
Recipe Variations & Customizations
- Spinach & Ricotta Shells: Thaw and thoroughly squeeze dry one 10-ounce package of frozen chopped spinach. Mix it into the cheese filling along with a pinch of nutmeg for a classic Florentine twist.
- Meat Lover’s Version: Brown 1/2 pound of Italian sausage or ground beef. Drain the fat and let it cool slightly before folding it into the cheese filling. You can also layer the cooked meat under the shells with the first layer of sauce.
- Extra Veggie Boost: Sauté 1 cup of finely chopped mushrooms, zucchini, or bell peppers until soft and all moisture has evaporated. Cool and mix into the filling.
- Three-Cheese Deluxe: Add 1/2 cup of shredded provolone or fontina cheese to the filling for an even more complex, gooey cheese pull.
- Gluten-Free Adaptation: Use your favorite brand of gluten-free jumbo shells. Be extra careful not to overcook them, as GF pasta can be more fragile.
- Lighter Option: Substitute part-skim ricotta and mozzarella, and use a low-sugar marinara sauce. The flavor will still be excellent.
What to Serve With This Recipe
Stuffed shells are a hearty main course that pairs beautifully with simple, fresh sides. A crisp Caesar salad or a mixed green salad with a bright vinaigrette cuts through the richness perfectly. For a classic Italian restaurant experience, add some garlic bread or focaccia for dipping into the extra sauce.
For a more substantial meal, sautéed green beans with garlic or roasted broccoli make excellent vegetable companions. In terms of drinks, a medium-bodied red wine like a Chianti or Sangiovese complements the tomato and cheese flavors wonderfully, or offer sparkling water with lemon for a non-alcoholic option.
Storage & Make-Ahead Instructions
- Refrigeration: Cool leftovers completely, then store in an airtight container in the refrigerator for up to 4 days.
- Freezing (Unbaked): Assemble the dish completely but do not bake. Wrap tightly in both plastic wrap and foil, or place in a freezer-safe container. Freeze for up to 3 months. Bake from frozen, adding 20-30 minutes to the covered baking time.
- Freezing (Baked): Let the baked dish cool, then portion and freeze in airtight containers for up to 2 months.
- Reheating: Reheat individual portions in the microwave until hot. For larger amounts, cover with foil and reheat in a 350°F oven for 20-30 minutes, or until heated through. Adding a tablespoon of water or sauce before reheating can help keep it moist.
Frequently Asked Questions
Q: Can I make stuffed shells ahead of time?
Absolutely. You can assemble the entire dish, cover it, and refrigerate it for up to 24 hours before baking. You may need to add 5-10 minutes to the baking time since it will be going into the oven cold.
Q: Why did my shells burst open while baking?
This usually means they were either overstuffed or the pasta was cooked past al dente, making it too soft to hold the expanding filling. Next time, use a little less filling and be vigilant about pasta cook time.
Q: Can I use cottage cheese instead of ricotta?
Yes, but the texture will be different. For a closer result, blend the cottage cheese in a food processor until smooth before using it in the filling.
Q: How do I know when the stuffed shells are done baking?
The sauce should be bubbling vigorously around the edges of the baking dish, and the cheese on top should be fully melted and have some golden-brown spots. An instant-read thermometer inserted into the center of a shell should read 165°F.
Q: My ricotta filling turned out watery. What happened?
The ricotta may have had too much moisture, or the shells weren’t drained well enough after boiling. Always drain ricotta if it looks wet, and make sure your cooked shells are well-drained and rinsed with cool water.
Q: Can I freeze leftovers?
Yes, baked stuffed shells freeze very well. Cool completely, store in freezer-safe containers, and freeze for up to 2 months. Thaw in the refrigerator overnight before reheating.
Q: Do I have to use an egg in the filling?
The egg acts as a binder to help the filling set. You can omit it, but the filling may be slightly looser. Adding an extra 1/4 cup of Parmesan can help compensate.
Final Thoughts
This classic stuffed shells recipe is a testament to how a few simple techniques can elevate a familiar dish into something extraordinary. By focusing on the details—cooking the pasta just right, seasoning the filling well, and allowing it to rest—you ensure a perfect result every single time. It’s a versatile, forgiving, and deeply satisfying recipe that’s as suited for a busy weeknight as it is for a Sunday dinner with guests.
I hope this becomes a trusted favorite in your home, bringing warmth and deliciousness to your table. Once you try it, I’d love to hear how it turned out! Share your creations online and tag me, and don’t forget to explore my other recipes for more kitchen-tested inspiration.
Now, go enjoy that cheesy, saucy masterpiece you just created

Classic Stuffed Shells
Equipment
- 9×13-inch baking dish
- Large pot for boiling pasta
- Mixing bowls
- Colander
- Measuring cups and spoons
- Cheese grater (if grating your own cheese)
Ingredients
- 1 box jumbo pasta shells (about 20-24 shells)
- 2 cups whole milk ricotta cheese drained if watery
- 1 large egg
- 2 cups shredded mozzarella cheese divided
- 3/4 cup grated Parmesan cheese divided
- 1/4 cup fresh parsley finely chopped
- 1 tsp dried oregano
- 1/2 tsp garlic powder
- 1/4 tsp black pepper freshly ground
- 1/4 tsp kosher salt plus more for pasta water
- 3 cups marinara sauce homemade or high-quality jarred
- 1 tbsp olive oil for greasing dish
Instructions
- Preheat your oven to 375°F (190°C). Bring a large pot of generously salted water to a boil. Cook the jumbo shells according to package directions for al dente, usually about 9-10 minutes. Drain immediately and rinse with cool water to stop the cooking. Drizzle with a little olive oil to prevent sticking and lay them out on a baking sheet.
- While the pasta cooks, make the filling. In a large mixing bowl, combine the ricotta, egg, 1 1/2 cups of the mozzarella, 1/2 cup of the Parmesan, parsley, oregano, garlic powder, salt, and pepper. Mix gently but thoroughly with a fork until everything is well incorporated. Taste and adjust seasoning if needed.
- Lightly grease a 9×13 inch baking dish with olive oil. Spread 1 cup of the marinara sauce evenly over the bottom of the dish. Using a spoon or a piping bag for less mess, fill each cooked shell with the ricotta mixture. Place each stuffed shell seam-side up in the prepared dish, arranging them snugly in a single layer.
- Pour the remaining 2 cups of marinara sauce over the arranged shells, spreading it to cover them mostly. Sprinkle the remaining 1/2 cup of mozzarella and 1/4 cup of Parmesan cheese evenly over the top. Cover the dish tightly with aluminum foil.
- Bake, covered, for 25 minutes. Then, carefully remove the foil and bake for an additional 15-20 minutes, or until the cheese is melted, the sauce is bubbling around the edges, and the top is lightly golden. Let the dish rest for 10 minutes before serving to allow the filling to set slightly. Garnish with extra fresh parsley or basil.
