These vegan stuffed shells are made from simple ingredients while being creamy, cheesy and delicious. Tofu-free.
Stuffed shells are an amazing comfort food and despite looking fancy, are simple and easy to make!
They’re also loaded with tons of fresh, healthy spinach, making them a great way to eat your greens!
This recipe can be made ahead and baked just before serving. It’s a great contribution to a potluck or get-together.
Browsing other recipes for vegan stuffed shells you’ll see that there are basically two ways to make vegan ricotta cheese: with tofu or with cashews.
Personally, I don’t really like tofu ricotta. No matter how much nutritional yeast you add, the tofu still retains its strong, distinct flavor.
While creating my vegan spinach pie recipe, I discovered that cashew ricotta can be made even better and creamier by blending in vegan cream cheese.
Additionally, vegan cream cheese adds a nice cheesy flavor that balances out the nuttiness of the cashews.
I like the vegan cream cheese from Lidl, which is made from almonds instead of straight-up coconut oil like the Violife one, but I have also made this recipe with Violife cream cheese and it works.
In addition to cashews and cream cheese, this dairy-free ricotta needs a bit of salt and lemon juice to give it that salty, sour flavor of ricotta.
That’s it. Just four simple ingredients make this a cheesy and versatile vegan ricotta that’s perfect for this vegan stuffed shells recipe!
How to cook pasta shells
I was working on perfecting this recipe for a long time and kept running into problems with cooking the jumbo pasta shells; they were either breaking or sticking together.
To cook pasta shells without breaking, use a large pot with an ample amount of water so that the pasta is not crowded.
Once the water comes to a boil, drop the shells in a couple at a time, rather than dumping the whole bag in at once.
When all the pasta is in the pot and it has returned to a boil, I lower the heat so that the water is just at a gentle simmer.
A rolling boil agitates the pasta too much and can cause it to split and break, making it difficult to stuff later.
It’s important to stir the pasta to ensure that it’s not sticking to the bottom of the pot, but be sure to do this very gently.
Despite my best efforts, I usually get a couple of broken shells. For that reason, I cook a few more than I think I’ll need for the recipe.
You can fish out the broken ones and use them to check the doneness of the pasta.
Be sure to cook the pasta to just al dente. Overcooking them will make them more susceptible to breaking.
When done, use a slotted spoon to transfer the pasta shells to a colander. Give them a quick rinse with cool water, drizzle over a bit of olive oil and gently stir them to coat. This will prevent the pasta shells from sticking together.
Finally, I’ve noticed that some brands of pasta shells are just better at holding their shape. I like the Di Marlino brand of shells.
Although vegan stuffed shells look fancy, the list of ingredients is surprisingly short and you should be able to find everything you need in any large supermarket.
Jumbo pasta shells: The filling recipe makes enough for about 25 jumbo shells, which is about half a 500 gram (18 oz) package of pasta. As I mentioned above, I’ve had good success with the Di Marlino brand of shells not breaking apart while boiling, but it’s always a good idea to cook a few more than you’ll need since a few will inevitably break open.
Spinach: This recipe calls for fresh spinach instead of frozen. No need to use baby spinach, the cheaper mature spinach is fine.
Marinara sauce: Use your favorite marinara sauce, whether homemade or store bought.
Cashews: Raw, unsalted cashews are the basis for a vegan ricotta. Be sure to soak the cashews overnight so that they blend up creamy. If you don’t have time for an overnight soak, place them in a pot of boiling water then turn off the heat and let them soak for about 30 minutes.
Vegan cream cheese: This adds extra creaminess and a nice cheesy flavor to the vegan ricotta. Some brands have a more “cheesy” flavor than others, personally I like the Vegmondo brand from Lidl but use your favorite vegan cream cheese.
Lemon: Lemon juice adds that characteristic sourness to the cream cheese.
Onion and garlic: These add extra flavor to the spinach-ricotta filling.
Salt and pepper: To season both the filling and the vegan ricotta. Ricotta cheese is rather salty so be sure to taste your vegan ricotta and adjust the seasoning (both salt and sour) to your taste.
How to make vegan stuffed shells
Vegan stuffed shells are easy to make, but they do take a bit of time since each shell needs to be stuffed individually.
Prep: The prep for this recipe should start several hours in advance by placing the cashews in a bowl, covering them with water and allowing them to soak. If you’re short on time you can boil the water first and leave the cashews to soak in the hot water for about 30 minutes.
For the veggies, finely dice the onion and garlic. Rinse and chop the spinach.
Cook the pasta: Place a large pot of salted water on to boil. Drop the pasta shells into the boiling water a couple at a time. Once all the pasta in all in the pot and it has returned to the boil, lower the heat to a gentle simmer. Stir from time to time to prevent sticking.
If you’re having trouble with your pasta shells breaking, see the “how to cook pasta shells” section at the beginning of this recipe post.
Once the shells are just al dente, drain them and give them a quick rinse with cool water. Drizzle over a bit of olive oil to prevent them from sticking until you’re ready to stuff them.
Saute: While the pasta is cooking, you can get started with the filling.
Heat a bit of olive oil in a large saucepan and fry the onion. Once it’s soft, add the garlic. Finally, start tossing in handfuls of chopped spinach.
As the spinach cooks down, add more. If you notice your spinach releasing a lot of water, leave a bit of space open in your pan so that the water can evaporate off.
Once all the spinach is tender, this should just take a couple minutes, season with salt and pepper and transfer it to a colander to drain and cool. You can put it in the fridge to cool faster.
Some brands of vegan cream cheese are just made from solidified oil (such as Violife). Because of this, I prefer to let the spinach cool completely so that the cream cheese doesn’t simply melt from the hot spinach.
Make the filling: Now you can make your vegan ricotta by combining all the ingredients in a small food processor or blender and blending until creamy.
Feel free to taste it and adjust the sourness and saltiness to your preference until it resembles ricotta.
Assemble: Once your spinach mixture has cooled down and drained off any remaining moisture, place it in a bowl and stir in the vegan ricotta.
Spread about ¾ of your favorite marinara sauce (store-bought or homemade) on the bottom of a large baking dish.
Take a pasta shell and gently hold it open with one hand while spooning a bit of the spinach filling inside.
Place it in your prepared baking dish and continue until you run out of filling. Pour the remaining ¼ of the marinara sauce over the tops of your pasta.
Bake: Place your baking dish in a 400 F / 200 C oven for about 10 - 15 minutes or until the pasta shells are heated through and the sauce is bubbling.
I don’t find it necessary to cover the dish with foil. Just keep an eye on it so that the pasta doesn’t burn.
If you are adding some vegan cheese, however, covering the dish with foil might help it to melt.
Once it’s all heated through, it’s ready to serve!
Substitutions and variations
Add vegan cheese: Even though this recipe as written doesn’t call for a vegan mozzarella cheese or vegan Parmesan cheese product, it’s creamy and has a nice cheesy flavor. If you want a more “gooey” texture, feel free to add some grated vegan cheese over the top before baking.
Meaty stuffed shells: Vegan stuffed shells can be made meaty by replacing the spinach with a vegan meat product such as Beyond Meat or crumbled tofu. Mushrooms will also add a meaty texture.
Other veggies: Butternut squash or pumpkin are popular alternatives to spinach in vegan stuffed shells. You can dice or mash the squash and combine it with vegan ricotta for the filling.
Vegan stuffed shells with white sauce: Instead of marinara sauce, a creamy white sauce can be used. Usually this is a bechamel sauce, which is a combination of oil, flour and plant milk. White sauce can also be made from blending cashews or tofu until creamy. You’ll find many recipes and techniques online for how to make vegan white sauce.
Sprinkle with breadcrumbs: For a bit of texture, you can sprinkle some breadcrumbs over the pasta shells before baking. You can also combine them with a bit of nutritional yeast for an extra cheesy flavor.
Yes, you can freeze this stuffed shells dish before baking. For best results, be sure to allow the spinach filling to thoroughly drain and cool. Removing the excess moisture will help prevent your shells from becoming soggy while thawing.
You can freeze just the stuffed shells spread out on a pan before transferring them to a freezer bag, or you can freeze them directly in the pan with the marinara sauce that you’ll be baking them in later.
To prevent freezer burn, be sure that the shells are completely cool before freezing and wrap them well in plastic wrap and aluminum foil.
You can either bake the shells directly from frozen, making sure to remove any plastic wrap, or you can let them thaw in the fridge overnight.
Yes, you can make vegan stuffed shells with frozen spinach. You will need to first thaw the spinach and squeeze out as much water as you can in order to prevent soggy shells. You’ll need about 1 - 1.5 cups of thawed and drained frozen spinach.
Make Ahead and Storage Tips
Vegan stuffed shells can be assembled and covered with foil to refrigerate for 1 to 2 days until you’re ready to bake. Add an additional 5 minutes of baking time for chilled shells.
Leftover baked shells can be refrigerated in an airtight container for 3 - 4 days.
Stuffed shells can be frozen before baking either spread out on a pan and then transferred to a freezer bag or in the pan you plan to bake them in for up to 3 months. Be sure to cover them well with foil and plastic wrap to prevent freezer burn.
Refrigerated shells can be reheated either in the oven or microwave. Frozen shells can be baked directly from frozen (be sure to remove any plastic wrap) or thawed in the fridge overnight before baking.
What to serve with vegan stuffed shells
Vegan stuffed shells are a hearty and satisfying main dish. They pair great with garlic bread and a green salad. Feel free to garnish your shells with fresh basil or parsley. Here are some other ideas:
- Tofu salad
- Vegan lentil salad
- Your choice of roasted vegetables
- Roasted artichokes
- Focaccia bread
- Vegan breadsticks
- Baked potatoes/sweet potatoes
- Vegan minestrone soup
Vegan Stuffed Shells
- 25 (about 6.5 oz / 185 grams) jumbo pasta shells
- 2 tablespoons olive oil plus a small drizzle for the pasta
- 1 medium onion finely diced
- 2 cloves of garlic minced
- 14 oz (400 grams) fresh spinach, washed and chopped quite small (mature spinach, no need to use baby spinach)
- 1 teaspoon salt divided, plus more for the pasta cooking water
- Pepper to taste
- 1 cup (145 grams) raw cashews, soaked overnight or in hot water for 30 minutes
- 8 tablespoons vegan cream cheese
- 2 tablespoons lemon juice
- 3 - 4 tablespoons water
- 1 jar (24 oz / 680 grams) marinara sauce
- Bring a large pot of salted water to the boil. Drop in the pasta shells a couple at a time to prevent sticking, and allow the water to come back to the boil. Reduce the heat to a gentle simmer and very gently stir the shells from time to time to prevent them from sticking to the bottom of the pan. Cook until just al dente.
- Meanwhile, heat the oil in a large pan or pot over medium heat and sauté the onion until soft and transparent - about 5 minutes. Then add the garlic and sauté until soft - about another minute.
- Add the chopped spinach and allow to cook down - about 3 - 4 minutes. You can add it a few handfuls at a time if it doesn’t all fit at once. If you notice a lot of water at the bottom of your pan, make space so that it can evaporate off. Season with ½ teaspoon of salt and pepper to taste.
- Transfer the cooked spinach to a colander over a bowl to drain off any excess moisture and allow to cool. You can place it in the fridge to cool more quickly if you’re short on time.
- Once the pasta is cooked to just al dente, use a slotted spoon to gently transfer the shells to a strainer (always be gentle with the shells to prevent them from breaking). Rinse them under cool water and give them a light drizzle with olive oil and a gentle stir to prevent them from sticking together.
- Drain the cashews and make the vegan ricotta by combining the cashews, vegan cream cheese, water (as needed to blend the cashews), lemon juice, and ½ teaspoon of salt in a small food processor or blender and blending until thick and creamy. Taste and adjust the sourness and saltiness so that it resembles the flavors of ricotta.
- Once the spinach is cooled and drained, transfer it to a bowl and add the vegan ricotta. Stir to combine well.
- Pour ¾ of the marinara sauce into the bottom of a large baking dish. Stuff the cooked pasta shells with the spinach-ricotta filling and arrange in the baking dish. Pour over the remaining ¼ marinara sauce.
- Bake in a 400 F / 200 C oven until heated through and the sauce is bubbly - about 10 - 15 minutes. (I don’t bother pre-heating the oven, I just put the pan in the oven and turn it on - saves energy). Serve hot.