Trust me, you’re going to want to hold onto this recipe for Stuffed Shells with Spinach, because when you try it, and you proceed to watch your family devour the entire pan, you’ll want to make it over and over again. They’re made with vegetarian filling with onions, spinach, ricotta and a secret healthy ingredient nobody will even know is there! It is such an easy win! Plus it can be prepped ahead so it works for entertaining or you can meal prep it (or freeze it) and have it on a weeknight too! 

A close up overhead view inside a baking dish with stuffed shells

I cannot believe that I have never made stuffed shells in my entire life until these bad boys came along. {Or maybe they’re bad girls, who am I to say?} I think I had always assumed that a) they were too labor intensive and b) too unhealthy. Well let me tell you dear reader, these Stuffed Shells with Spinach are neither! I cannot wait to share them with you so you can join me in making stuffed shells on repeat from now on! 

I decided I wanted to try making them for you this month because I thought they would make a good make-ahead recipe. So when I started out on the task of developing the recipe I actually built the make-ahead right into the recipe. And the good news it that it just lends itself to prepping ahead! Not only can you prep it the day before, but you can actually freeze it too! So if you have guests coming, or you find yourself on a Sunday with some extra time on your hands, make a batch of these shells and you can thank me later.

Let’s get into the deets about the shells, because I am bursting at the seams to tell you about the SECRET INGREDIENT!!!

A side view of stuffed shells with spinach

How To Make Stuffed Shells with Spinach

Boil the Pasta

  • Since I was new to shells, I was not aware of the fact that there is such a thing as Jumbo Shells. And that is exactly what you need for this recipe. 
  • I tested this with Prince and Barilla, and they both worked will. I found the Prince ones were slightly easier to fill because the Barilla ones curled up on themselves a bit too much, so it was hard to get the spoon of filling into the shell without making a mess.
  • Either way, you don’t need a whole box. I am not sure why they sell them in such large boxes, because you can’t possibly fit an entire box, filled, into a 9 by 13 casserole dish. I found that 9 ounces was plenty with a couple extras for those that break or tear in the boiling process. 
  • Boil the jumbo shells for less time than the package says. 2 minutes less will yield shells that are soft enough to work with and fill, but not so soft that they become mushy once filled and baked. 

Make the Filling 

  1. When you think about it, ricotta doesn’t have much flavor on its own, so the key to making a delicious kick ass stuffed shell is to amp up the flavor as much as possible.
  2. To make the filling, start by sauteing garlic and onion in a large non-stick skillet. These are the backbone of the flavor profile and will automatically make the whole filling much more savory.
  3. Then add fresh spinach (a whole 5-ounce box) to the onion and cook it down. The skillet will be really full, but if you use tongs to turn the spinach into the hot onions it will wilt down quickly. Make sure that your spinach is dry before you add it, because any extra moisture will make the filling too wet and weepy. 
  4. Add in dry Italian seasoning. I always keep Italian Seasoning on hand because it’s like using three or four herbs in one. I also use it in my lasagna, chicken cacciatore and minestrone too. Stir it into the hot vegetables right when you remove it from the heat so the heat will help to activate the seasoning a bit.
  5. Set the skillet aside to let the veggies cool a bit. You’ll be mixing them with the rest of the filling mixture, including the eggs, so you want the veggies to be cool. 

Cut the Calories and Saturated Fat of the Ricotta by Adding Crumbled Tofu

Here’s where the secret ingredient comes in! That’s right, there’s tofu in these shells! You would never know by tasting them because it crumbles right into the ricotta filling and you can’t taste it at all, and the texture really blends in entirely. Nobody in my family even noticed at all. Even my 11 year old who has some “texture issues” loved it! 

By using the tofu instead of an additional cup of ricotta, you’ll save about 9 grams of saturated fat and it’s still high in protein and calcium. 

If you read this far but still need a little convincing, listen… I googled “stealthy tofu ricotta”, and they even make lasagna with it over on the Kitchn, so apparently I am not the only person with the idea! If you swear you hate tofu, give this a try. 

If you’re new to tofu here’s what you need to know.

  1. Buy Extra Firm Tofu. Not baked (which is too hard and dry) and not silken (which is very soft and pudding-like.)
  2. Look for tofu packed in water, often sold in the produce department. 
  3. I like to buy the mini packets of organic Nasoya Extra-firm tofu, if you can find them. They’re just the right size for this recipe. If not, you can buy the full size block, and cut it in half. Make sure to store the leftover tofu in water.
  4. Because the tofu is packed in water, you’ll need to take a moment to dry it off. I like to pat it dry before crumbling it, and then after. I use dry paper towels to do so. 
  5. Once the tofu is patted dry, you can literally crush the tofu in your hands, and it will break apart into crumbles that mimic ricotta cheese. (See video!) I crumble it right onto a plate lined with more paper towels. 

Mix The Vegetables, Tofu and Ricotta to Make The Filling 

Once your vegetables are cool, and your tofu is crushed, you can mix the filling together. 

Note, I use part-skim ricotta. This is much lower in fat than whole-milk ricotta, but because we add in so much flavor, you won’t miss the extra fat, and it will save tons of calories! I use a whole 15 (or 16) ounce container of ricotta. 

  1. To your ricotta and tofu mixture, add in the veggies, some grated Parmesan (for more flavor) and salt. I know it seems like quite a bit of salt, but remember this whole thing is basically unseasoned at this point and our goal is to add flavor to the ricotta, and the shells really suck up so much flavor, that they need it. It brings the filling alive! If you are sodium sensitive, you can add salt to your taste. 
  2. Add in an egg. This will help the filling set up when it bakes so the shells hold their flavor. 
  3. Stir everything together until the spinach is incorporated into the ricotta. 

How to Assemble 

  • Start out with clean hands. This is kind of a messy process, so you’ll want to try to start as clean as you can. 
  • Coat the casserole dish with cooking spray and then spread some of the tomato basil sauce in the bottom of the casserole dish. The sauce will prevent the shells from sticking. 
  • Working one at a time, pick up a shell with your non-dominant hand, and a spoon with the other. Scoop filling (about 2 tablespoons) into the shell. Set the shell down into the prepared pan, filling side up. Repeat with all the shells and filling, arranging them into rows in the casserole dish. 
  • Pour the rest of the tomato basil sauce over the top of the shells.
  • Next, add on more flavor in the form of freshly chopped basil. This is such a yummy addition, and it really takes the flavors to the next level! Don’t skip it! I put it under the cheese so that the basil doesn’t turn black and burn when it bakes. 

Add Part-Skim Mozzarella

Next top the casserole off with part skim mozzarella. I buy the pre-shredded kind because it’s so easy. I know it’s not the greatest melting cheese on the planet, but it helps keep the calories and fat in check. I use 6 ounces for the whole casserole. 

an overhead view of stuffed shells on a table with a salad

Baking the Casserole

If you’re making the stuffed shells right now, and you’re not making them ahead, just pop them straight into the oven uncovered. Simply bake them until the sauce is bubbling, the shells are hot all the way through and the cheese is just starting to brown. That’ll be about 25 minutes.

If you are making them ahead, you’ll want to follow along with the below steps. 

a stuffed shell on a spoon

Steps To Make This Recipe

Tips For Making This Recipe in Advance

If you are meal prepping this Stuffed Shells recipe, after you fill the shells, and assemble the casserole, you can refrigerate them for a day before baking them. Just cover the casserole dish with aluminum foil and pop it in the fridge. 

Then preheat your oven to 350 degrees, and set the casserole into the oven with the foil on it. The foil will help trap in the steam as it comes up to temp. Then you can remove the foil and bake it for 15 or so minutes longer (just look for the sauce to bubble and the cheese to melt. 

Yes, These Stuffed Shells Can Be Frozen

I am pleased to report that these stuffed shells can be frozen and then baked (directly from the freezer) and the results are AMAZING!

To do so, first make sure you have a casserole dish that allows you to go from freezer to oven. Then prepare the shells through step 6. Wrap the entire casserole dish twice with plastic wrap. Then wrap on top with foil. Freeze for up to one month. To reheat: remove the plastic wrap and then cover the casserole dish with foil. Transfer directly to the oven and bake for 1 hour 10 minutes. Remove the foil and bake for an additional 10 minutes. 

Menu Pairing Ideas

I like to make a salad with Lemon Juice Salad Dressing to serve with these Stuffed Shells with Spinach.

You could also make these Green Beans with Walnuts and Balsamic

If you’re serving this to company, for dessert, serve either my Apple Cake or the Gingerbread Cake with Cream Cheese Frosting

This Recipe is Part of A Meal Prep Menu

This stuffed shells recipe is part of my Meal Prep Menu which also includes four more make ahead dinners. In this plan, I give you the prep list, shopping list and plan to prep on the weekend, so you can have all your weeknight meals ready to go with 20 minutes (or less) of time in the kitchen! 

Here’s the complete menu:

  1. Monday: Stuffed Shells with Spinach and salad with Lemon Dressing
  2. Tuesday: Cod Fish Tacos with refried black beans
  3. Wednesday: Sloppy Joes and Roasted Broccoli and Cauliflower with Cheese
  4. Thursday: Chicken and Wild Rice Soup
  5. Friday: Greek Pizza and lemony green beans

You may also love these Vegetarian Stuffed Peppers with Italian Flavors. Feel free to swap them in for any of the meals in this menu. To get the full details, print your shopping list and get started, head over to the Meal Prep Menu to check it out! 

Thanks so much for reading! If you make these Stuffed Shells with Spinach, please let me know by leaving a comment and star rating below! 

Happy Cooking! ~Katie

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
a close up of stuffed shells

Healthy Stuffed Shells with Spinach

  • Author: Katie
  • Total Time: 55 minutes
  • Yield: 6 servings 1x


These Stuffed Shells with Spinach are a healthy vegetarian make-ahead casserole for meal-prep or to serve to company.



9 ounces jumbo shells pasta

1 tablespoon extra-virgin olive oil

3 cloves garlic, minced

1 cup chopped red onion

1 5-ounce box baby spinach

2 teaspoons Italian Seasoning

7 ounces extra-firm tofu (not silken)

1 15-ounce container part-skim ricotta cheese

1/3 cup grated Parmesan cheese plus more for serving

1 large egg

1 ½ teaspoon salt

Freshly ground pepper to taste

2 cups tomato basil sauce, divided

2 tablespoons chopped fresh basil, plus more for serving

1 ½ cup shredded part skim mozzarella cheese (6 oz)


  1. Bring a large pot of salted water to a boil over high heat. Add shells and cook for 2 minutes less than package instructions. Drain well and rinse with cold water.
  2. Meanwhile, heat oil in a large non-stick skillet over medium-high heat. Add garlic and onion and cook, stirring often until softened and browned, 3 to 5 minutes. Stir in spinach and Italian seasoning until the spinach is wilted and remove from the heat.
  3. Drain tofu and pat dry with paper towels. Crush tofu into crumbles over more paper towels into small chunks and pat dry again. Transfer to a large bowl.
  4. Add ricotta, egg, Parmesan, salt and pepper to the tofu and stir to combine. Add the spinach mixture and stir again.
  5. Preheat oven to 350 degrees F. Coat a 9 by 13 inch casserole dish with cooking spray. Spread ½ cup tomato sauce over the bottom of the casserole dish.
  6. Taking one shell at a time into hand, spoon spinach filling into the shell (about 2 tablespoons per shell.) Set the shell into the casserole. Continue stuffing shells using all of the filling, and arranging them, filling side up. Pour the remaining 1 ½ cups sauce over the shells. Top with basil and then mozzarella.
  7. Bake until the sauce is bubbling, the shells are hot all the way through and the cheese is melted, about 25 minutes. Remove from the oven, and let cool about 5 minutes. Sprinkle with additional basil and Parmesan if desired, and serve.


Make Ahead: Do not preheat oven in step 5. Assemble the shells as directed. Cover and refrigerate up to 24 hours in advance. Preheat oven to 350 degrees. Bake covered until hot all the way through, about 35 minutes. Then remove foil and continue baking as directed until the shells are steaming hot, the sauce is bubbling and the cheese is melted, about 15 minutes longer.

To Freeze Ahead: To do so, first make sure you have a casserole dish that allows you to go from freezer to oven. Then prepare the shells through step 6. Wrap the entire casserole dish twice with plastic wrap. Then wrap on top with foil. Freeze for up to one month. To reheat: remove the plastic wrap and then cover the casserole dish with foil. Transfer directly to the oven and bake for 1 hour 10 minutes. Remove the foil and bake for an additional 10 minutes.

  • Prep Time: 30
  • Cook Time: 25
  • Category: Main Course
  • Method: Oven
  • Cuisine: Italian


  • Serving Size: 1/6 casserole (about 3 to 4 shells)
  • Calories: 446
  • Fat: 18 grams
  • Saturated Fat: 8 grams
  • Carbohydrates: 49 grams
  • Fiber: 7 grams
  • Protein: 28 grams

Keywords: stuffed shells, stuffed shells with spinach, vegetarian stuffed shells, healthy stuffed shells

Stuffed Shells with Spinach