These hearty vegetarian stuffed shells are packed with fresh mushrooms, spinach, and three kinds of cheese for a comforting dinner that even meat-lovers will devour. This family recipe proves that meatless meals can be just as satisfying and delicious as any traditional, meaty pasta dish. And we’ve intentionally used some better-for-you ingredients to make these more nourishing too. A great option for a weeknight dinner or to serve as a more elegant meal for friends and family.

This isn’t your typical stuffed shells recipe. It’s based on my mom’s version that we’ve been perfecting together over the past handful of years to enjoy for dinner almost every time she’s visiting.
The secret is using the freshest ingredients possible. Ribboned fresh spinach leaves, minced garlic and onion, finely chopped parsley, and whatever beautiful mushrooms we can find (our favorites are from the Madison farmers’ market during the summer!).
We also create the rich, savory filling using cottage cheese instead of a traditional ricotta to add protein and reduce the amount of fat, while still keeping the filling ultra creamy and delicious. This is definitely one of our favorite filling and satisfying vegetarian meals.
Spinach Stuffed Shells Ingredients
- Jumbo shell pasta (plus water for cooking them). Jumbo pasta shells are the vehicle for all the yummy filling ingredients!
- Olive oil. Used to sauté our mushrooms, and add a complimentary flavor to our filling.
- Fresh mushrooms. You can use a wide variety of mushrooms in this recipe. Baby bellas, cremini, oyster, white button, or a blend! Just select whichever variety looks best at your store or farmers market.
- Yellow onion. Adds texture and depth of flavor to our filling.
- Salt, pepper, garlic, and Italian seasoning. These spices add to and enhance the overall flavor of our dish.
- Fresh parsley. Adding fresh parsley to our filling adds a pop of freshness to our dish, and helps to bring out the other flavors.
- Fresh spinach. Spinach wilts nicely into our filling and is a great way to add more veggies to our dish without stealing the show.
- Cottage cheese. Used as our main creamy filling ingredient, cottage cheese tastes great in this recipe and is also a lower calorie option that’s also higher in protein compared to a typical ricotta.
- Shredded mozzarella and parmesan cheeses. Used in our filling and as a topping layer.
- Canned petite diced tomatoes. Mixing petite diced tomatoes into our sauce is another sneaky way to add more veggies to this dish, as well as extend the sauce.
- Jarred pasta sauce. You can use whatever your favorite jarred sauce is for this recipe. We like to use tomato basil sauce or marinara when making this.
- Optional topping: fresh basil. Basil is a staple ingredient in Italian cooking. Adding a sprinkle of chopped, fresh basil on top of our stuffed shells adds the perfect pop of flavor for serving.
Ingredient measurements can be found in the recipe card at the bottom of the page, along with the full recipe directions.
Cook Pasta to Al Dente (or a Little Less!)
For best results, do NOT overcook your pasta! In addition to boiling it per the package directions, your pasta will continue to cook as it’s baked. Overcooked shells result in soggy stuffed shells… which isn’t what you want.
How to Make Stuffed Shells with Spinach
Cook the pasta per package directions, starting with bringing a salted pot of water to a boil.
Cook until the noodles are al dente. Under cooked is better than over cooked as they’ll be baked again later. Drain, rinse with cold water, and set aside.
Cook the onions and mushrooms. While the pasta is cooking, warm the oil in a large skillet over medium heat.
Sauté the mushrooms and onions with salt and pepper until the mushrooms have released their liquid, begun to brown, and most of the liquid has cooked off (about 8-10 minutes).
Add the garlic, sautéing until the fragrant (about 30-seconds to 1 minute).
Add the parsley and spinach to the skillet and cook until the spinach wilts (about 1-2 minutes).
Remove from the heat and add the rest of the filling ingredients to the pan, including the cottage cheese, mozzarella, parmesan, and Italian seasoning.
Stir to combine, make a cohesive filling and set aside.
Combine the diced tomatoes and pasta sauce in a bowl.
Stirring to combine, and set aside.
Preheat the oven and prepare the pan. Preheat the oven to 350°F and grease a 9×13 baking pan and spread a thin layer of the tomato sauce mixture across the bottom.
Stuff the shells and place them into the pan. Stuff each shell with about a 1 Tablespoon portion of the filling.
Placing the stuffed shells opening side down, in a single layer, in the prepared pan. Repeat until the pan is filled and you’re out of filling (you’ll likely have some noodles left).
Cover the shells with the remaining sauce.
Top the shells with the cheese by sprinkling an even layer of mozzarella and parmesan over the them.
Cover with tinfoil and bake for 20 minutes.
Uncover and continue to bake an additional 20 minutes, until the cheese is melted, and the sauce is bubbling at the edge of the pan.
Allow the shells ‘rest’ about 10 minutes before serving. Option to garnish with fresh basil if desired.
Variation Ideas
If desired, replace the cottage cheese with ricotta cheese. It’s a traditional ingredient in a stuffed shells filling and tastes good. Simply swap these one-for-one. You do you!
Can You Make Stuffed Shells Ahead of Time?
Yes! If desired, you can assemble the stuffed shells up to 1 day ahead of cooking them. To do so, prepare the recipe as directed in the recipe card all the way to point of topping your stuffed shells with sauce and cheeses in the baking dish. Cover and store the unbaked shells in the fridge. Let the shells sit at room temperature as the oven preheats and bake according the the recipe card.
You can also assemble and freeze stuffed shells before baking! We’ve outlined how to do so below in the ‘Storage Information’ section.
Do You Cover Stuffed Shells When Baking?
Yes, typically you cover the stuffed shells for a portion of the baking time and then uncovered for the remainder of baking. Doing so helps the contents to cook evenly and to prevent the cheese on top from burning (or getting overly browned).
Do I Place the Stuffed Shells Seam Side Up or Down?
You can place your shells seam side up or seam side down. My mom has always placed them seam side down, and that’s how I do it too since we cover the shells with more sauce and cheese. However, a lot of people place them seam side up because they’re worried about the filling running out (I’ve not had this issue)… so do whichever you prefer!
What to Serve with Stuffed Shells with Spinach
Stuffed shells are a hearty main dish in themselves, so a lighter side is a great choice. I recommend a simple green salad, Caesar salad, or roasted veggies. A side of garlic bread is always a welcome addition.
Storage Information
Store fully cooled stuffed shells covered tightly in the refrigerator for up to 4 days. Reheat individual portions in the microwave until warmed through.
Detailed information on how to freeze stuffed shells before OR after baking noted below.
How to Freeze Stuffed Shells with Spinach
You can freeze stuffed shells, before or after baking, for up to 3 months.
To freeze them before baking, prepare the recipe all the way to topping your stuffed shells with sauce and cheeses in the baking dish. If you plan to make this for the freezer, I recommend using a disposable aluminum baking pan. Then tightly cover the pan with foil and freeze (I like to add a 2nd layer of foil across the middle with the recipe name, date assembled, and cooking directions). When ready to eat, either thaw in the fridge for 10-12 hours (pop it in the night before you want to enjoy it, or the morning you plan to make it for dinner) OR bake the shells from frozen by adding 30-minutes to the cooking time noted in the recipe card.
How to Reheat Frozen Stuffed Shells
To freeze them after baking, scoop individual portions into freezer-safe containers. Reheat individual portions in the microwave until heated through.
Love This Recipe? Try One of These Pasta Recipes Next!
Stuffed Pasta Shells Recipe (with Spinach)
Ingredients
For the Shells
- 1 , 12 ounce package of jumbo shells
- water for boiling
For the Filling
- 2 Tablespoons olive oil
- 1 small yellow onion, finely diced
- 12 ounces sliced mushrooms, stems removed (baby bellas, white button, cremini, etc. also ok to use a blend!)
- 2 cloves garlic, minced (2 cloves = ~ 1 teaspoon jarred minced garlic)
- ½ teaspoon salt
- ¼ teaspoon pepper
- 1 Cup fresh parsley, finely chopped
- 2 Cups fresh spinach, stems removed & leaves ribboned
- 2 Cups cottage cheese
- 1 Cup shredded mozzarella cheese
- ½ Cup shredded parmesan cheese
- 1 + ½ Tablespoon Italian Seasoning
Sauce and Topping
- 1 , 15 ounce can petite diced tomatoes, drained
- 1 , 24 ounce jar pasta sauce (select your favorite! we like to use a tomato basil sauce or marinara)
- 2 Cups shredded mozzarella cheese
- ½ Cup shredded parmesan cheese
Instructions
- Cook the Pasta per package directions, until they're al dente (under cooked is better than over cooked here as they'll be baked later).1 , 12 ounce package of jumbo shellswater for boiling
- Drain and rinse with cold water (this helps to prevent ripping when you are stuffing the shells later). Set aside.
- Cook the onions and mushrooms. While the pasta is cooking, warm the oil in a large skillet over medium heat. Then sauté the mushrooms and finely diced onions with salt and pepper until the mushrooms have released their liquid, they've begun to brown, and most of the liquid has also cooked off (about 8-10 minutes).2 Tablespoons olive oil1 small yellow onion, finely diced12 ounces sliced mushrooms, stems removed½ teaspoon salt¼ teaspoon pepper
- Add the minced garlic, sautéing until the garlic is fragrant (approximately 30-seconds to 1 minute).2 cloves garlic, minced
- Add the parsley and spinach to the skillet and cook until the spinach wilts (about 1-2 minutes).1 Cup fresh parsley, finely chopped2 Cups fresh spinach, stems removed & leaves ribboned
- Remove from the heat and stir in the rest of the filling ingredients. Set aside.2 Cups cottage cheese1 Cup shredded mozzarella cheese½ Cup shredded parmesan cheese1 + ½ Tablespoon Italian Seasoning
- Mix together the diced tomatoes and pasta sauce in a large bowl and set aside.1 , 15 ounce can petite diced tomatoes, drained1 , 24 ounce jar pasta sauce
- Preheat the oven and prepare the pan. Preheat the oven to 350°F and grease a 9×13 baking pan and spread a thin layer of the tomato sauce mixture across the bottom.
- Stuff the shells and place them into the pan. Stuff each shell with about a 1 Tablespoon portion of the filling and place them opening side down, in a single layer, in the prepared pan. Repeat until the pan is filled (you may have a few noodles leftover).
- Cover the shells with the remaining sauce.
- Top the shells with the cheese. Sprinkle an even layer of the mozzarella and parmesan cheeses over the shells.2 Cups shredded mozzarella cheese½ Cup shredded parmesan cheese
- Cover with tinfoil and bake for 20 minutes.
- Remove the foil and continue to bake for another 20 minutes.
- Remove from the oven and let the shells 'rest' about 10 minutes before serving. Optionally garnish with fresh basil, and enjoy!
Meredith says
Such a yummy vegetarian meal!