These are the best vegan stuffed shells you will ever eat! Filled with healthy tofu ricotta and spinach and topped with tomato sauce and melty vegan mozzarella cheese.  This is my go-to comfort food for holidays, dinner parties, or just a hearty weeknight meal.

A spoon lifting a jumbo stuffed shell stuffed with tofu ricotta and spinach out of a baking dish.

Want to save this recipe?

Enter your email below and get it sent straight to your inbox. Plus, get more amazing vegan recipes that will satisfy your cravings!

Save Recipe

I’ve been making this stuffed shell recipe for over 20 years and my family and I never get tired of them.  They’re even a hit with non-vegan friends and family.  They tell me that “They taste just like the real thing.”  My mother (who is not vegan) even requests that I make them when she comes to visit.

If you love comforting vegan dinner recipes that can feed a crowd, you should also check out my vegan lasagna, vegan baked ziti, vegan goulash, and vegan ravioli recipes too!

These stuffed shells are

  • absolutely delicious!
  • dairy-free, nut-free, and can easily be made gluten-free.
  • easy to make ahead, freeze, and reheat.
  • great for leftovers and meal prep.
  • packed with plant-based protein.
  • filling for families with hearty appetites.

Ingredients and substitutions

  • Jumbo Pasta Shells – to stuff.  Use gluten-free shells if necessary. (You can also use manicotti tubes, lasagna noodles rolled up, or thinly sliced zucchini or eggplant rolled up with spinach ricotta in the middle).
For the Vegan Ricotta
  • Tofu – to make the base of your tofu ricotta.  You will need 2 14 oz packs of extra firm tofu.  (You can also use the high-protein tofu that comes in the vacuum-sealed packs, but you will need to add an extra splash of soy milk to get the right consistency).
  • Nutritional Yeast – for a cheesy flavor.  Nutritional yeast is a cheese-like flavored flaky powder that gives foods an umami flavor.  You can find it in most large grocery stores or health food stores.
  • Olive Oil – for a richer flavor.
  • Salt – for flavor. (You can add more or less to suit your taste).
  • Garlic -for flavor.  I usually use fresh garlic, but you can use 1/2 tsp of garlic powder instead if you wish.
  • Basil – or other fresh herbs like oregano or parsley for flavor.  Fresh basil has the best flavor, but you can also use 2 tbsp of dried herbs instead.
  • Black Pepper – for flavor.  Fresh ground black pepper is delicious and adds a little extra flavor.
  • Soy Milk – or water to thin out the ricotta if needed to achieve the correct texture. You can use any type of plain-flavored plant-based milk you wish.
For Spinach or Veggie Stuffed Shells
  • Spinach – for spinach stuffed shells.  This is optional, yet highly recommended.  I use a 16 oz. bag of frozen spinach thawed and drained to make it easy.  You can also use 22 cups of fresh spinach and steam it until it wilts and add it to the ricotta instead.  (It takes 11 cups of fresh spinach to equal 1 cup of cooked spinach).
  • Other Veggies – You can also use 2 cups of broccoli or other steamed veggies in place of the spinach.
Other Ingredients
A large baking dish filled with vegan stuffed shells and topped with tomato sauce and fresh basil.

How to make vegan stuffed shells

Make the Pasta

Step 1 Cook jumbo shells in salted boiling water for 8 minutes. Drain and rinse with cold water to stop the cooking process. (It’s better to slightly undercook them than overcook them.  They will continue to cook a little more when you bake them).

While the shells are boiling, make the tofu ricotta

Step 2Drain and press the tofu to get out as much liquid as possible.

Step 3Add tofu, garlic, basil, nutritional yeast, olive oil, salt, and pepper to your food processor.  Blend for about 1-2 minutes until smooth.  (Add a splash of plain soy milk if needed to make it a ricotta texture.

Step 4Heat 2 cups of frozen spinach until thawed. (You can use a microwave or stovetop)  Once it has thawed, put it into a colander, set it in the sink, and press the spinach with a spatula to squeeze the liquid out of it.

Step 5Add thawed and drained spinach to the ricotta mixture and blend again for a few seconds.  (You can blend for another minute or two to get the spinach finely chopped for picky kids or you can stir the spinach in if you want it to remain more whole).

Vegan tofu ricotta in a food processor with spinach added to it.

Assemble the shells

Step 6 – Preheat the oven to 350°F.  It should be heated by the time you finish filling the shells.

Step 7Fill the cooked jumbo shells with the tofu ricotta mixture (About 2 tbsp. in each shell) and place them into a large baking dish.  (Hold the shell putting pressure on both ends so that it opens up to fill it).

Step 8 – Pour a jar of marinara sauce over the shells or use 2 1/2 cups of my oven-roasted tomato sauce or roasted red pepper and tomato sauce. ( You can also place the stuffed shells on a bed of the sauce).

Someone holding a jumbo pasta shell filling it with tofu spinach ricotta cheese.

Bake the shells

Step 10Cover with foil and bake for 20 minutes at 350° F (176°C).

Step 11 – Top with vegan mozzarella cheese, cover again, and bake for another 20 minutes.

Step 12 – Take the foil off and bake the shells for an additional 10 minutes until bubbly in the center.  (I bake them uncovered at the end to make them a little crispy on the edges.  If you don’t want that, you can bake them covered the whole time).

Step 13Garnish with fresh chopped basil or parsley.

Vegan stuffed shells topped with tomato sauce before baking.

Pro Tips

  • Slightly undercooking your shells will help to prevent them from breaking in the stuffing process.
  • This makes a very large lasagna dish full of stuffed shells.  I stack my shells on top of each other a little to make them all fit, but if you want a very orderly presentation, you divide them into 2 baking dishes.  *Reduce baking time by 10 minutes if you are baking in 2 smaller dishes.
  • If the shells start to stick together, simply rinse them again in cold water or place them in a pan of cold water before stuffing them.

Vegan cheese for stuffed shells

  • I double my basic vegan ricotta recipe for these stuffed shells to make enough filling to fill a whole box of cooked jumbo shells.  (You can cut the recipe in half if you want).
  • You can use 3 cups of store-bought vegan ricotta instead as a replacement for the homemade version.
  • You can add the cheese to the top in the beginning and skip the step of taking it back out of the oven to add the cheese.  However, some of the store-bought vegan cheese cook down too much and will kind of disappear into your pasta sauce.  (My homemade mozzarella can withstand baking for the full 50 minutes.

Variations of vegan stuffed shells

Cashew Ricotta – If you want a soy-free version, you can use 2 cups of raw cashews that you have soaked overnight and then drained and rinsed instead of tofu.  Replace the oil with lemon juice and follow the rest of the recipe the same.  It will take a lot more blending and you will need to stop and scrape the edges frequently.  (You can also use a high powdered blender instead of a food processor).

Broccoli Stuffed Shells – Use 2 cups of chopped steamed broccoli instead of spinach.

Sausage Stuffed Shells – Add a batch of my vegan sausage crumbles to the ricotta or dice up my vegan Italian sausages a package of store-bought vegan sausage, saute it in a frying pan, and add it to the ricotta mixture.

Extra Cheesy Stuffed Shells – Stir a cup of vegan mozzarella-style cheese into the tofu ricotta mixture and top the shells with another layer of cheese.  Or you can use my vegan alfredo sauce instead or in addition to the red sauce.

Creamy Stuffed Shells – Instead of red sauce or cheese over them, drizzle your stuffed shells with my vegan bechamel sauce or liquid vegan pizza cheese. This creamy white sauce is the ultimate comfort food!

Stuffed shells topped with vegan cheese that is melted and stretchy on top.

How to store vegan stuffed shells

Refrigerator: The vegan stuffed shells will keep well in the fridge for 3 – 5 days in a sealed container.

Freezing: These tofu stuffed shells freeze well and can be stored in an airtight container in the freezer for up to 3 months.

Defrosting: Allow them to thaw in the fridge overnight before reheating.

Reheating instructions: Reheat the stuffed shells one serving at a time in the microwave for about 3-4 minutes. To reheat large amounts, sprinkle with 2 tablespoons of water, cover, and bake at 350° F (176°C) for about 20-25 minutes until hot in the center.

Can you freeze stuffed shells before baking?

These work great for meal prep! Simply cover the stuffed shells with a layer of plastic wrap pushed tightly against the shells to keep out as much air as possible.  Then place another layer of foil or an air-tight lid and freeze for up to 3 months. 

Allow to thaw for a day in the fridge before baking or add an additional 20-30 minutes of baking time if baking them from frozen.  *Be sure to take the plastic wrap off before cooking!

A baking dish filled with vegan spinach stuffed shells topped with tomato sauce and fresh basil.

Can I make stuffed shells ahead of time?

Yes!  If you want to prepare these for a holiday or party, simply assemble them up to a day ahead of time, keep them covered in the fridge, and then bake them 1 hour before you want to eat.

What to serve with tofu stuffed shells

Since stuffed shells are sort of a filling dish, I like to serve them with some easy vegan broccoli salad or a vegan Ceasar salad on the side.  Some vegan cheddar bay biscuits or vegan focaccia bread are also amazing with this meal.

A top view of vegan stuffed shells with a spoon scooping one out of a baking dish.

Vegan stuffed shells recipe

A baking dish filled with vegan stuffed shells made with tofu ricotta and spinach.
Diet
Gluten Free Icon
High Protein Icon
Nut Free Icon
Vegan Icon
5 from 14 rating

Vegan Stuffed Shells

A classic tasting dairy-free stuffed shell recipe made with tofu ricotta and spinach.

Ingredients

For the Pasta

  • 1 16 oz package jumbo pasta shells, (gluten-free if necessary)

For the Ricotta

  • 2 14 oz. packages extra-firm tofu, drained and pressed
  • 1/3 cup nutritional yeast
  • 2 tablespoons olive oil
  • 2 teaspoons salt
  • 2 cloves garlic
  • 1/4 cup basil, or other fresh herbs or 2 tbsp dried herbs
  • 1/4 teaspoon black pepper
  • 1 splash soy milk, or water if needed to thin the ricotta

For Spinach or Veggie Stuffed Shells

  • 1 16 oz package frozen spinach, or 2 cups wilted spinach ( or swap for steamed broccoli is desired.)

Other Ingredients:

Equipment

Instructions
 

Make the Pasta

  • Cook jumbo shells in salted boiling water for 8 minutes. Drain and rinse with cold water to stop the cooking process. (It’s better to slightly undercook them than overcook them.  They will continue to cook a little more when you bake them).

While the shells are boiling, make the tofu ricotta

  • Drain and press the tofu to get out as much liquid as possible.
  • Add tofu, nutritional yeast, garlic, basil, olive oil, salt, and pepper to your food processor.  Blend for about 1-2 minutes until smooth.  (Add a splash of plain soy milk if needed to make it a ricotta texture.
  • Heat 2 cups of frozen spinach until thawed. (You can use a microwave or stovetop)  Once it has thawed, put into a colander, set in the sink, and press the spinach with a spatula to squeeze the liquid out of it.
  • Add thawed and drained spinach to the ricotta mixture and blend again for a few seconds.  (You can blend for another minute or two to get the spinach finely chopped for picky kids or you can stir the spinach in if you want it to remain more whole).

Assemble the shells

  • Preheat the oven to 350°F (177°C).  It should be ready by the time you finish filling the shells.
  • Fill the cooked jumbo shells with the tofu ricotta mixture (About 2 tbsp. in each shell) and place them into a large baking dish.  (Hold the shell putting pressure on both ends so that it opens up to fill it).
  • Pour a jar of marinara sauce over the shells ( You can also place the stuffed shells on a bed of sauce).

Bake the stuffed shells

  • Cover with foil and bake for 20 minutes at 350°F (177°C).
  • Top with vegan mozzarella cheese, cover again and bake for another 20 minutes.
  • Remove foil and bake the shells for an additional 10 minutes until bubbly in the center.  (I bake them uncovered at the end to make them a little crispy on the edges.  If you don't want that, you can bake them covered the whole time).
  • Garnish with fresh chopped basil or parsley and serve hot.

Notes

  • Slightly undercooking your shells will help to prevent them from breaking in the stuffing process.
  • This makes a very large lasagna dish full of stuffed shells.  I stack my shells on top of each other a little to make them all fit, but if you want a very orderly presentation, you divide them into 2 baking dishes.  *Reduce baking time by 10 minutes if you are baking in 2 smaller dishes.
  • You can add the cheese to the top in the beginning and skip the step of taking it back out of the oven to add the cheese.  However, some of the store-bought vegan cheese cook down too much and will kind of disappear into your pasta sauce.  (My homemade mozzarella can withstand baking for the full 50 minutes.
  • If the shells start to stick together, simply rinse them again in cold water or place them in a pan of cold water before stuffing them.
 
Variations:
  • Cashew Ricotta – If you want a soy-free version, you can use 2 cups of raw cashews that you have soaked overnight then drained and rinsed instead of tofu.  Replace the oil with lemon juice and follow the rest of the recipe the same.  It will take a lot more blending and you will need to stop and scrap the edges frequently.  (You can also use a high powdered blender instead of a food processor).
  • Broccoli Stuffed Shells – Use 2 cups of chopped steamed broccoli instead of spinach.
  • Sausage Stuffed Shells – Add a batch of my vegan sausage crumbles to the ricotta or dice up a package of vegan Italian sausage, saute it in a frying pan and add it to the ricotta mixture.
  • Extra Cheesy Stuffed Shells – Stir a cup of vegan mozzarella style cheese into the tofu ricotta mixture and top the shells with another layer of cheese.  Or you can use my vegan alfredo sauce instead or in addition to the red sauce.
  • Creamy Stuffed Shells – Instead of red sauce or cheese over them, drizzle your stuffed shells with my vegan bechamel sauce. This creamy white sauce is the ultimate comfort food!
Serving: 4shells, Calories: 361kcal, Carbohydrates: 51g, Protein: 18g, Fat: 10g, Saturated Fat: 2g, Sodium: 817mg, Potassium: 451mg, Fiber: 4g, Sugar: 3g, Vitamin A: 4613IU, Vitamin C: 3mg, Calcium: 106mg, Iron: 3mg
Did you make this recipe?Please leave a star rating and review below!

*This was originally published on 2/13/20.  It was updated on 3/25/21 to include new pictures and more detailed instructions. 

📌 Be sure to follow me on Pinterest for new vegan recipes!