Creamy Vegan Stuffed Shells with Spinach Tofu Ricotta
These vegan stuffed shells are filled with a creamy spinach tofu ricotta and baked in a rich marinara sauce until bubbly and golden.

They come together in about an hour, with no unusual ingredients, making them a reliable weeknight dinner that tastes like you spent all day on them.
What Makes These Stuffed Shells So Good
The tofu ricotta gives you that creamy, slightly tangy filling you want without any dairy. It holds its shape in the shell but still melts into the pasta as it bakes.
The spinach adds color and a little heft, and because you squeeze out every drop of water, the filling never turns watery. The baked marinara forms a sticky, savory crust on top that I look forward to just as much as the shells themselves.
This is the kind of dish I bring to friends when they need a meal. It reheats beautifully, and even the leftovers feel like a real dinner, not a sad microwave moment.
Ingredients

- 12 jumbo pasta shells: from a 12 oz box, you only need half, but cook a couple extra in case any tear
- 14 oz extra-firm tofu: pressed for 15 minutes to remove excess water
- 10 oz frozen spinach, thawed and squeezed very dry: you can also wilt 8 oz fresh spinach and squeeze it
- 2 tbsp nutritional yeast: gives that savory, cheesy backdrop
- 1 tbsp fresh lemon juice: brightness that lifts the whole filling
- 1 clove garlic, minced: fresh, not powder, for a sharper bite
- ½ tsp fine sea salt: adjust to your taste
- ¼ tsp black pepper: fresh-cracked if you have it
- 3 cups marinara sauce: a smooth, good-quality jarred sauce works great here
- Optional: 2 tbsp vegan parmesan-style shreds: for that salty, crisp top
Variations / Substitutions
- Swap the tofu: use 1½ cups cooked brown lentils or crumbled tempeh for a heartier, nubbier filling. The flavor changes but it’s still satisfying.
- Different greens: try chopped kale or chard instead of spinach. Just wilt and squeeze them just as dry.
- Add more cheese: stir ½ cup vegan mozzarella shreds into the ricotta, or scatter some over the top before baking.
- Gluten-free: use gluten-free jumbo shells and cook them to package directions, but pull them a minute early so they don’t fall apart.
If you love easy pasta bakes, you might also like my Easy Vegan Baked Ziti.
How To Make Vegan Stuffed Shells
Step 1: Boil the Pasta Shells

Heat the oven to 375°F (190°C) while you bring a large pot of salted water to a boil. Drop in the 12 jumbo shells and cook them for about 9 minutes, until they are tender but still hold their shape when you scoop one out. You want them slightly underdone so they don’t fall apart during baking.
Drain the shells and rinse them with cold water right away. This stops the cooking and cools them enough to handle. Spread them out on a clean towel so they don’t stick together while you make the filling.
Step 2: Mix the Spinach Tofu Ricotta

Crumble the pressed tofu into a large bowl. Add the squeezed spinach, 2 tbsp nutritional yeast, 1 tbsp lemon juice, minced garlic, salt, and pepper. Use a fork to mash everything together until it looks like a grainy ricotta with green flecks throughout. If you want it smoother, pulse it a few times in a food processor instead.
Taste the mixture now, before you stuff the shells. It should be bright, a little tangy, and well-salted. If it tastes flat to you, add another pinch of salt or a second squeeze of lemon. The filling firms up a bit in the oven, so the texture you taste now is close to what you’ll get.
Step 3: Fill the Shells

Spoon about 2 tablespoons of the ricotta mixture into each cooked shell. Gently press the filling in so it reaches the corners, but don’t pack it so tight that the shell splits. The shells plump up a little and look generous even with that amount.
I like to use a small cookie scoop for this. It keeps the filling even and the whole process fast. Set each filled shell in a 9×13-inch baking dish as you go, but don’t add any sauce yet.
Step 4: Assemble the Casserole

Spread 1 cup of the marinara sauce across the bottom of the dish. Nestle the stuffed shells in a single layer on top of the sauce, then pour the remaining 2 cups of marinara over them. Use a spoon to nudge the shells a bit so some sauce runs down between them. If you’re using the vegan parmesan, sprinkle it over the top now.
The sauce underneath keeps the shells from sticking, and the top layer protects them from drying out. At this point, you can cover the dish and refrigerate it for up to 24 hours before baking, which makes it a great make-ahead meal.
Step 5: Bake the Shells Until Bubbly

Cover the dish tightly with foil and bake for 25 minutes. Then pull off the foil and bake another 10 to 15 minutes, until the sauce is bubbling thickly around the edges and the tops of the shells look set with a few golden spots.
Let the dish rest for 5 minutes before you serve it. That brief pause lets the filling settle so it doesn’t slide out, and the sauce thickens just enough to cling. A scatter of fresh basil across the top right before serving adds one last fresh note.
A Few Things That Make This Easier
- Press the tofu well.: Even extra-firm tofu holds hidden water. Wrap it in a clean towel, set a skillet on top for 15 minutes, and you’ll get a much creamier, less watery filling.
- Don’t skip the cold rinse on the shells.: It stops carryover cooking and makes them sturdy enough to stuff without tearing. Warm shells are much more fragile.
- Overstuffing will split your shells.: Two tablespoons is plenty, and if a shell tears, just press it closed around the filling and nestle it into the sauce, it will bake up fine.
- If your marinara is bland, the whole dish will taste flat.: Warm a spoonful of your sauce before assembling and adjust it with salt, pepper, or a pinch of sugar if needed.
Bake times shift a little depending on your dish size. Here’s what to expect:
| Dish Size | Covered Bake Time | Uncovered Bake Time |
|---|---|---|
| 9×13 inch | 25 mins | 10 to 15 mins |
| 8×8 inch | 30 mins | 15 to 18 mins |
Storing and Reheating Leftovers
- Refrigerate: store leftovers in a sealed container for up to 4 days. The shells absorb sauce overnight and get even more tender.
- Reheating: warm individual portions in the microwave until hot, or reheat the whole dish in a 350°F oven, covered, for about 20 minutes.
What To Serve With Vegan Stuffed Shells
A simple green salad with a sharp lemon vinaigrette cuts right through the richness of the baked sauce. Garlic bread or any crusty loaf is perfect for mopping up the extra marinara, and steamed broccoli on the side rounds out the plate without competing for oven space.
Frequently Asked Questions
Can I freeze these stuffed shells?
Yes, freeze the unbaked, assembled dish wrapped tightly in plastic and foil for up to 2 months. Bake from frozen, adding 15 to 20 minutes to the covered bake time, then uncover until bubbly.
How do I keep the shells from cracking when I boil them?
Stir them gently and only a couple times, and pull them out while they are still a little firm. The cold water rinse afterward also helps them hold their shape for stuffing.
Can I use fresh spinach instead of frozen?
Yes, wilt 8 ounces of fresh spinach in a dry pan, let it cool, and squeeze out every drop of liquid. The volume shrinks a lot, so start with a big bunch.
What if my tofu ricotta tastes too plain?
Stir in another teaspoon of lemon juice, a pinch more salt, or a tiny grate of fresh nutmeg. Tasting before you fill the shells lets you fix it before it hits the oven.

Vegan Stuffed Shells Recipe
Ingredients
Method
- Heat oven to 375°F (190°C). Boil shells in salted water for about 9 minutes until tender but still firm, drain, and rinse with cold water.
- Mash tofu, spinach, nutritional yeast, lemon juice, garlic, salt, and pepper together until the mixture looks like ricotta.
- Spoon about 2 tbsp filling into each shell, pressing gently, and set them in a 9×13-inch baking dish.
- Spread 1 cup marinara on the bottom of the dish, arrange shells, pour remaining 2 cups marinara over top, and optionally sprinkle with vegan parmesan.
- Cover with foil, bake 25 minutes, uncover, bake another 10 to 15 minutes until bubbly. Let rest 5 minutes, then serve with fresh basil.
