Creamy Spinach Tofu Shells
This post may contain affiliate links, please see our privacy policy for details.
This Creamy Spinach Tofu Shells recipe is a comforting vegan pasta that sneaks in protein & veggies. Made in one pot for easy clean up!

These Creamy Spinach Tofu Shells are a one-pot dinner that everyone will love. The secret to getting that super creamy sauce? TOFU! I know it might sound weird, but it not only makes a really yummy sauce, it also sneaks in 40 grams of extra protein! This is the pasta recipe I plan to make for my son – once he’s old enough to eat real food 😉 The flavors are comforting and the sneaky veggies & protein make it healthier. Win-win!
Here’s what you need
Ingredients
- medium shells – or another short pasta
- broth – I used vegan chicken broth
- firm tofu
- garlic
- olive oil
- non-dairy milk
- vegan mozzarella – I used Trader Joe’s
- onion powder
- dried parsley
- smoked paprika
- salt & pepper
- frozen spinach – thawed & drained
- lemon zest & juice
- fresh basil
Equipment
- stock pot
- food processor or blender

Steps
Step 1: Prep the Tofu Sauce
The first thing we want to do is take this basic block of tofu and turn it into a creamy sauce.
And to do that we are going to add the tofu to a food processor or blender with some olive oil and fresh garlic.
Blend until smooth, scraping down the sides as needed. We aren’t seasoning the sauce yet, so don’t base your opinions on it by how it tastes now. It will be combined with more seasonings to taste amazing!

Step 2: Make the Pasta
When it comes to choosing a pasta, you want to use something that is short and hearty. If you use a pasta that is too delicate it will end up breaking with all of the stirring that is required.

Add the pasta to a stock pot with broth and bring to a boil. The pasta won’t be fully submerged, so you will want to mix it frequently.
Once the pasta has cooked for 8 minutes, add the tofu, milk, mozzarella, dry seasonings and spinach to the pot with the pasta – don’t drain the pasta before adding everything to it! Continue to stir, stir, stir for 5-ish minutes, or until the pasta is cooked through and the sauce has thickened up.

Step 3: Finish & Serve
To finish off the pasta, add in some lemon zest, lemon juice and fresh basil. Give it one last stir and taste it. Now is the time to add more salt & pepper as needed. Scoop the pasta into bowls and top it with some more pepper.

This pasta is so creamy and comforting, but also doesn’t weigh you down. It is the perfect recipe when you are craving comfort food, but lightened up.
This is one your whole family will love! Let me know if your kids like this one so I can add it to the future list for my kid!


Tips & Tricks
For leftovers: the sauce will thicken even more as it sits in the fridge. I like to add some more non-dairy milk when reheating to loosen it up.
You could also swap the frozen spinach with some chopped broccoli.

Need more recipe inspo? Check these out:

Creamy Spinach Tofu Shells
Ingredients
- 1 pound medium shells or another short pasta
- 4 cups broth I used vegan chicken broth
- 1 14-ounce block firm tofu drained & pressed
- 4 cloves garlic peeled
- 1/4 cup olive oil
- 1 cup non-dairy milk unsweetened
- 1 cup shredded vegan mozzarella I used Trader Joe's
- 1 teaspoon onion powder
- 1/2 teaspoon dried parsley
- 1/2 teaspoon smoked paprika
- salt & pepper to taste
- 8 ounces frozen spinach thawed & drained
- 1 lemon zest & juice
- 2 tablespoons fresh basil chopped
Equipment
Instructions
- Add the pasta and broth to a stock pot and bring to a boil. Boil for 8 minutes, stirring frequently.
- Meanwhile, add the tofu, garlic & olive oil to a food processor or blender and blend until smooth.
- Don't drain the pasta! Add the tofu, milk, mozzarella, dry seasonings and spinach to the pot with the pasta. Continue to stir, stir, stir for 5-ish minutes, or until the pasta is cooked through and the sauce has thickened up.
- Add the lemon juice, lemon zest & basil and give it another stir. Taste and adjust the salt & pepper as needed.
- Serve warm with extra pepper on top.
Video
Notes
- For leftovers: the sauce will thicken even more as it sits in the fridge. I like to add some more non-dairy milk when reheating to loosen it up.
- You could also swap the frozen spinach with some chopped broccoli.
Have you ever made this with extra firm tofu? That is the kind we usually have on hand. Looks delicious!
As long as it isn’t the protein tofu (super firm) it will work fine!
This is my fourth time doing this pasta. I do it for meal prep and it holds pretty good for the week.
Thanks Dani! I love making it for meal prep too!
OMG. Just made this last night and it was perfection. Reminded me of my favorite pasta Alfredo dishes from when I was a kid. No one would guess there was tofu in this. I didn’t end up using the whole pound of shell pasta—just filled to the waterline. But I kept the rest of the ingredients the same. Thanks for an amazing recipe that will be in our rotation from now on.
So glad you loved it Nina!
Made this with banza pasta. I don’t know if that is why it tasted horrible but this did not turn out. I did my best to try and add things to save it but it didn’t help. Ended up throwing it in the trash. I cook with tofu all the time and have been vegetarian/ vegan almost my whole life.
The problem with Banza pasta is that it needs to be rinsed after it is boiled – it is part of the instructions on the package. So, it won’t work in a recipe like this where the pasta is cooked in the sauce. It just sheds a thick layer when it cooks. If I were going to use that pasta for this recipe I would cook the pasta first, make a thinner sauce & then add the pasta to the sauce. Hope that helps!
This is delicious and satisfying! I was unsure about the smoked paprika, but the lemon worked well to mellow that flavor. So nice to have a “creamy” sauce again!
I haven’t made this yet, I just had a quick question but it looks so good . . . I’m not vegan so can I use regular milk instead of non-dairy? or is there a better option?
Love this so much. It has an Alfredo like feel and you don’t even taste the spinach. This is on the weekly rotation! Took my kids a couple tries before they really enjoyed it (because “we see green things”). But now they laugh at the “green polka dots”
Healthy and kinda plain. Required a lot of salt for me.
This dish was DELICIOUS!! I LOVE it, and will add it to my regular rotation. It was so easy to make!! Win! Win! Thank you, Rene, for another AMAZING recipe!!
This recipe was very easy to follow and super delicious! The lemon zest and juice give it a nice flavor. I didn’t have basil, but I would imagine how much more rich and comforting this meal would have been if I had all the ingredients. I love that its one pot and minimal mess in the kitchen. I will be making this again for sure.
Thanks so much Julie – we love an easy clean up!
Made this tonight with some added toppings. Mushrooms, red peppers, purple onion and crispy tofu’chikn’. I forgot to add the lemon and didn’t have any basil so I topped with green onion. This is rich and creamy deliciousness and super easy to make. I’m sure the lemon would have been nice but it won’t be my last time making this. Thanks for an excellent recipe
So glad you loved it Deb. And I love all of the additions!
Yum!!! This was delicious! Both toddlers tried it and liked it!
Yay! So glad to know it was a hit with the kiddos!
Hi how many grams or cups per serving?
Thank you!!
Its probably about a cup, but I don’t have exact measurements for the servings.
Can you use silken tofu as a substitute for the firm tofu in this recipe. Looks amazing! Can’t wait to make it.
Yes, silken tofu will work too!
This is delicious. Used pourable mozzarella and didn’t have herbs on hand and still turned out great.
So glad you loved these Audrey!
I look forward to trying