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.
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.
Jump to:
❤️ 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 will 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 cheesy 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.
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
- Pasta Sauce - any jarred red sauce will work. If you have time I highly recommend my homemade oven-roasted tomato sauce.
- Vegan Mozzarella or Vegan Parmasean Cheese - to put on top of your stuffed shells. (optional).
🥄 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, 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. It should be heated 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 or use 2 1/2 cups of my oven-roasted tomato sauce. ( You can also place the stuffed shells on a bed of sauce).
Bake the shells
- Cover with foil and bake for 20 minutes at 350° F (176°C).
- Top with vegan mozzarella cheese, cover again and bake for another 20 minutes.
- 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).
- Garnish with fresh chopped basil or parsley.
👩🏻🍳 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.
- 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.
- *You can use 3 cups of store-bought vegan ricotta instead.
- 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).
📖 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 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. This creamy white sauce is the ultimate comfort food!
🥡 Storage and reheating
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 bak at 350° F (176°C) for about 20-25 minutes until hot in the center.
❄️ Can you freeze before baking?
Yes, 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 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 bake time if baking them from frozen. *Be sure to take the plastic wrap off before cooking!
⌚ Can I make them 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.
🍲 Serving suggestions
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.
🌟 More recipes you'll love
- Vegan Ravioli
- Vegan Quiche
- The Best Vegan Lasagna
- Vegan Baked Ziti
- Vegan Stuffed Peppers
- Zucchini Lasanga
- Vegan Baked Feta Pasta
📌 Be sure to follow me on Pinterest for new vegan recipes!
A classic tasting dairy-free stuffed shell recipe made with tofu ricotta and spinach.
- 1 16 oz package jumbo pasta shells (gluten-free if necessary)
- 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
- 1 16 oz package frozen spinach or 2 cups wilted spinach ( or swap for steamed broccoli is desired.)
- 1 26 oz jar pasta sauce
- 1 cup vegan mozzarella to sprinkle on top (optional)
- 1/4 cup vegan parmesan cheese to sprinkle on top (optional)
-
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).
-
Drain and press the tofu to get out as much liquid as possible.
-
Add tofu, 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).
-
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).
-
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.
- 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!
*This was originally published on 2/13/20. It was updated on 3/25/21 to include new pictures and more detailed instructions.
⭐⭐⭐⭐⭐ Leave a comment and starred review! I would love to hear from you!
Your recipe isn't vegan unless you're buying a special kind of pasta. Normally pasta contains eggs and eggs are not vegan.
Actually, the majority of pasta is vegan. (At least where I live in the US, maybe it is different where you live.) Of course, I don't use pasta with eggs since I am a strict vegan. Almost all dry pasta does not contain eggs. I wrote an extensive post about it that you can find here... https://thehiddenveggies.com/is-pasta-vegan/
This was so delicious! I think the tofu is better than the ricotta, very creamy. The next time I make it (which will be very soon) I will omit the spinach, I found it to add a dry taste. I cannot wait to convert this recipe into a lasagna, with some beefless beef. Thank you!
I'm glad that you enjoyed the recipe, Phillip! 🙂
Hi Monica,
I haven’t made this yet, but like your other recipes, it looks amazing! You’d mentioned that we could roll up thinly sliced eggplant in place of pasta shells. Do I need to do anything to the eggplant prior to baking, such as drawing out the moisture with a sprinkling of salt or are they good to go as is
Thanks! I’m really enjoying your webpage!
If you want to make eggplant roll-ups, I usually salt them first to sweat out some liquid, then bake them on an oiled cookie sheet for about 10 minutes to soften them up before I spread the ricotta on them and roll them up. I also have a zucchini lasagna recipe on the site if you are looking for more plant-based alternatives instead of pasta noodles. Here is the link to that... https://thehiddenveggies.com/vegan-zucchini-lasagna/ Enjoy. 🙂
My ricotta turned out watery. I didn’t steam the spinach I put it in the blender right from the package. Is that why it turned out watery?
Yes, I think that would be the answer. I usually use frozen spinach and let it warm up, then press out all of the excess water. Steaming fresh spinach will help get some liquid out of it. Also, be sure to use extra-firm tofu and press it well.
Oooops sorry I meant Monica lol
Hi Rachel, do you think it would work well to make it ahead of time and leave it in the fridge to just pop in the oven at dinner time?
Yes, that will work just fine. Enjoy! 🙂
I don't usually leave comments on recipes but then I do always read the comments before I try out the recipe...thought it was best that I started to leave some feedback! This recipe is fab, absolutely love the tofu ricotta, something which I think could be used in a variety of recipes! I halved the recipe which lasted for dinner and a yummy lunch the next day for two people.
Thank you, Rachel
I'm so happy that you liked it, Rachel! Thanks for commenting! I love to hear when people like my recipes! 🙂
Making this tonight! (I made the vegan mozzarella last night) Does the nutritional yeast go in the food processor with the tofu ricotta mixture, or on top of the assembled shells? Also, on the mozzarella recipe, the ingredients says 1/4 tsp garlic powder, and the directions says 1/2 tsp, which is correct? Thank you for what I'm sure will be another amazing recipe!!
You want to put the nutritional yeast in the food processor with the tofu. You can sprinkle more on top of the shells too if you want, but it helps to flavor the tofu. Sorry about the garlic powder typo - I will go fix it now. I use 1/2 tsp of garlic powder in the mozzarella, but you can use less if you don't like garlic. I hope that you love the stuffed shells! 🙂
songood! my boyfriend told me I can add some veggie meat inside, then i add more veggie meat , super duper yummy!
I'm so happy that you liked it! 🙂
Made this 2 nights ago and it was really yummy and easy to make. I didnt bother with the shells - rolled the filling up in lasagna noodles and followed the recipe for the rest.
Thank you. Sue
I'm glad that you liked it, Sue! 🙂
These are really delicious! We do meatless dinners a few nights a week and everyone loved this. You'd have no idea this is dairy free.
Thanks, Rachel! I'm so happy that you all liked it! 🙂
I made these last night. They were delicious! The whole family loved them too! I'll be making them again for sure!
I'm so happy that you liked them, Carolyn! They are a family favorite for sure! 🙂