There’s a satisfying little puzzle at the heart of making stuffed shells, a quiet rhythm of filling and tucking that’s as calming as it is creative. It’s a dish built for generosity, where each pasta pocket becomes a vessel for a rich, savory filling, all nestled together under a blanket of melted cheese.
This version is a celebration of hearty, meatless comfort, swapping the traditional ground meat for a robust mixture of ricotta, spinach, and savory mushrooms. The result is a baked pasta dish that’s undeniably luxurious, deeply satisfying, and cleverly designed to stock your freezer with future feasts. Let’s make a pan of pure, freezable comfort.
Why This Vegetarian Stuffed Shells Works
- Freezer-Friendly Champion: This recipe is built for the long haul, allowing you to make one pan now and save another for a future busy night.
- Cohesive, Not Watery Filling: Sautéing the vegetables properly drives off excess moisture, ensuring your filling is flavorful and firm, not soggy.
- Layered Flavor Depth: From umami-rich mushrooms to sweet onions and garlic, every component is cooked to build a complex flavor base.
Gather Your Supplies
Before we start the cozy work of stuffing, let’s get everything prepped and ready. This mise en place makes the entire process flow like a dream. Here’s what you’ll need for the ultimate vegetarian stuffed shells.
- Jumbo Pasta Shells (12 oz box): (Their large size and ridged edges are perfect for holding filling and catching sauce).
- Olive Oil: (For sautéing our vegetables to golden perfection).
- Yellow Onion, finely diced: (Forms the aromatic sweet foundation of the filling).
- 8 oz Cremini or Baby Bella Mushrooms, finely chopped: (Provide a deep, savory umami flavor and meaty texture).
- 4-5 cloves Garlic, minced: (Adds essential pungent, aromatic depth).
- 5 oz package Fresh Baby Spinach: (Adds color, nutrients, and a mild earthy flavor).
- 15 oz container Whole Milk Ricotta Cheese: (The creamy, slightly sweet base of the filling).
- 1 large Egg: (Acts as a binder, helping the filling set during baking).
- 1 cup shredded Mozzarella Cheese, divided: (Half goes in the filling for stretch, half on top for that golden crust).
- ½ cup grated Parmesan Cheese, divided: (Adds a salty, nutty punch to both the filling and the topping).
- 1 tsp Dried Oregano: (Classic Italian herb flavor).
- ¼ tsp Freshly Grated Nutmeg: (A tiny pinch enhances the ricotta and spinach beautifully).
- Kosher Salt & Black Pepper: (To season every layer).
- 24 oz jar of your favorite Marinara Sauce: (Or 3 cups of homemade—this is the cozy blanket for the shells).
Pantry Alternatives
Don’t let a missing ingredient stop you. Here are some easy swaps to keep you on track.
- No Fresh Spinach? Use a 10 oz package of frozen chopped spinach, thawed and squeezed completely dry in a kitchen towel.
- Ricotta Alternatives: Full-fat cottage cheese, blended until smoother, can work in a pinch. For a richer option, try whole milk ricotta salata, crumbled.
- Mushroom Swap: Not a fan? Try finely chopped roasted eggplant or zucchini (salted and squeezed dry first) for a different veggie twist.
- Cheese Variations: Fontina is a great melty substitute for some of the mozzarella. Romano can stand in for Parmesan.
- Gluten-Free Needs: Use a certified gluten-free jumbo shell pasta. The filling is naturally gluten-free.
Make It Your Own
This recipe is a fantastic canvas. Once you master the basic method, feel free to get creative and tailor it to your tastes.
- The “Sun-Dried Tomato & Pesto” Twist: Stir ¼ cup chopped oil-packed sun-dried tomatoes and 2 tablespoons of basil pesto into the ricotta filling.
- Add a Protein Punch: For a denser texture, mix in 1 cup of cooked and crumbled plant-based “sausage” or lentils with the sautéed veggies.
- Go Green: Swap the spinach for an equal amount of chopped kale (remove tough stems) or Swiss chard. Sauté it briefly with the garlic until wilted.
- Creamy Vodka Sauce Upgrade: Instead of marinara, use a rosé or vodka sauce for a decadent, pink-hued, creamy finish.
Let’s Get Cooking
Now for the fun part. We’ll cook the pasta, make the filling, assemble, and bake. It’s a simple process that yields incredibly impressive results.
Step 1: Cook the Pasta Shells
Bring a large pot of well-salted water to a boil. Add the jumbo shells and cook for 2-3 minutes *less* than the package directions for al dente.
They will be pliable but still quite firm. This is crucial, as they will continue cooking in the oven.
Drain the shells immediately and rinse them under cool water to stop the cooking process. This also makes them cool enough to handle.
Drizzle them with a tiny bit of olive oil and gently toss to prevent sticking while you prepare the filling.
Step 2: Build the Flavor Base
Heat olive oil in a large skillet over medium heat. Add the diced onion and cook until soft and translucent, about 5 minutes.
Add the finely chopped mushrooms. Cook, stirring occasionally, until they have released their water and are deeply browned, about 8-10 minutes.
Add the minced garlic and cook for just one minute until fragrant. Season the mixture generously with salt and pepper.
Now, add the fresh spinach in handfuls, stirring until each batch wilts down before adding more. This should only take a couple of minutes.
Step 3: Create the Ricotta Filling
In a large mixing bowl, combine the ricotta, egg, ½ cup of the mozzarella, and ¼ cup of the Parmesan.
Add the dried oregano, nutmeg, a good pinch of salt, and several grinds of black pepper.
Stir until everything is well combined. Now, add the slightly cooled vegetable mixture from the skillet.
Fold it all together gently but thoroughly. Taste and adjust the seasoning—this is your last chance to season the filling itself.
Step 4: Assemble the Dish
Preheat your oven to 375°F (190°C). Spread about 1 cup of the marinara sauce in the bottom of a 9×13 inch baking dish.
Using a spoon or a small cookie scoop, fill each par-cooked shell with the ricotta-vegetable mixture.
Place each stuffed shell, opening side up, snugly into the sauced baking dish. They can be cozy—they’re meant to be.
Once all shells are nestled in, pour the remaining sauce over the top, aiming to cover each shell lightly.

Step 5: Bake to Perfection
Sprinkle the remaining ½ cup of mozzarella and ¼ cup of Parmesan cheese evenly over the sauced shells.
Cover the baking dish tightly with aluminum foil. This creates a steamy environment that heats the filling through and cooks the pasta.
Bake, covered, for 25 minutes. Then, carefully remove the foil and bake for an additional 10-15 minutes.
The cheese should be fully melted and the sauce should be bubbling around the edges. For a more golden top, broil for the last 1-2 minutes, watching closely.
Step 6: The Essential Rest
Remove the pan from the oven and let it rest on a cooling rack for 10 minutes before serving.
This rest time is non-negotiable—it allows the filling to set slightly, making the shells much easier to serve neatly.
Chef’s Tips
- Undercook the Pasta: Seriously, undercook it. A shell that’s al dente before baking will be perfectly tender after. A shell that’s fully cooked before baking will turn to mush.
- Squeeze Your Veggies Dry: If using frozen spinach, get every last drop of water out by wringing it in a clean kitchen towel. Excess moisture is the enemy of a firm filling.
- Freeze Before Baking: For best freezer results, assemble the dish completely but do not bake. Cover tightly and freeze. Thaw overnight in the fridge before baking as directed, adding a few extra minutes if needed.
Complete the Meal
These rich, cheesy shells are a star all on their own, but a few simple sides can turn them into a feast.
A crisp, bright salad is the perfect counterpoint. Think a simple arugula salad with lemon vinaigrette or a classic Caesar.
For a vegetable side, roasted broccoli or asparagus with a squeeze of lemon adds a lovely charred element.
And you can never go wrong with a basket of warm, crusty garlic bread or soft breadsticks for scooping up every last bit of sauce.
If you tried this recipe and loved it, please leave a 5-star rating below. It helps us so much!

Why is it important to undercook the pasta shells before baking?
It is crucial to cook the shells 2-3 minutes less than the package directions for al dente because they will continue to cook in the oven. A shell that is fully cooked before baking will turn to mush, while one that is al dente will become perfectly tender after baking.
How can I prevent the filling from becoming watery?
To prevent a soggy filling, you must properly sauté the vegetables to drive off excess moisture. If using frozen spinach, it is essential to thaw it and squeeze it completely dry in a kitchen towel to remove every last drop of water.
What is the best method for freezing this dish for later?
For the best freezer results, assemble the dish completely (fill the shells, place them in the sauced baking dish, add the remaining sauce and cheese) but do not bake it. Cover the unbaked dish tightly and freeze. When ready to eat, thaw it overnight in the refrigerator and then bake as directed, adding a few extra minutes if needed.
What are some easy ingredient substitutions if I don’t have fresh spinach or ricotta?
You can substitute a 10 oz package of frozen chopped spinach (thawed and squeezed dry) for the fresh spinach. For ricotta, you can use full-fat cottage cheese blended until smoother, or for a richer option, whole milk ricotta salata, crumbled.

Freezer-Friendly Vegetarian Stuffed Shells
Ingredients
Equipment
Method
- Bring a large pot of well-salted water to a boil. Cook the jumbo shells for 2-3 minutes less than the package directions for al dente. Drain, rinse under cool water, drizzle with a little olive oil, and toss gently to prevent sticking.
- Heat olive oil in a large skillet over medium heat. Add the diced onion and cook until soft and translucent, about 5 minutes.
- Add the chopped mushrooms to the skillet. Cook, stirring occasionally, until they have released their water and are deeply browned, about 8-10 minutes.
- Add the minced garlic and cook for 1 minute until fragrant. Season generously with salt and pepper.
- Add the fresh spinach in handfuls, stirring until each batch wilts down before adding more. Cook for 1-2 minutes total. Remove the skillet from heat and let the mixture cool slightly.
- Preheat oven to 375°F (190°C). In a large mixing bowl, combine the ricotta, egg, 1/2 cup of the mozzarella, and 1/4 cup of the Parmesan. Add the dried oregano, nutmeg, a good pinch of salt, and several grinds of black pepper. Stir until well combined.
- Add the slightly cooled vegetable mixture from the skillet to the ricotta mixture. Fold together gently but thoroughly. Taste and adjust seasoning.
- Spread about 1 cup of the marinara sauce in the bottom of a 9×13 inch baking dish.
- Using a spoon or small cookie scoop, fill each par-cooked shell with the ricotta-vegetable mixture. Place each stuffed shell, opening side up, snugly into the sauced baking dish.
- Pour the remaining marinara sauce over the top of the stuffed shells, aiming to cover them lightly.
- Sprinkle the remaining 1/2 cup of mozzarella and 1/4 cup of Parmesan cheese evenly over the top.
- Cover the baking dish tightly with aluminum foil. Bake for 25 minutes.
- Carefully remove the foil and bake for an additional 10-15 minutes, until the cheese is melted and the sauce is bubbling around the edges. For a more golden top, broil for the last 1-2 minutes, watching closely.
- Remove the pan from the oven and let it rest on a cooling rack for 10 minutes before serving.