Creamy spinach and ricotta filling packed with flavor
Hearty tomato sauce made from scratch
Baked until warm, melty, and golden on top
Vegetarian and perfect for meatless meals
Great for making ahead, storing, and freezing
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
For the Tomato Sauce 1 tablespoon olive oil 1 medium brown onion, finely chopped 2 cloves garlic, minced 1 tablespoon dried oregano 1 tablespoon balsamic vinegar 1 tablespoon tomato puree (paste) ¼ teaspoon sea salt ¼ teaspoon cracked black pepper 2 cans diced or chopped tomatoes (14.5 oz / 400g each)
For the Stuffed Shells 21 large pasta shells ½ tablespoon olive oil 6½ packed cups fresh spinach (or 250g frozen spinach) 1 cup ricotta cheese (250g tub) ⅔ cup grated mozzarella cheese 1 clove garlic, minced A small handful of fresh basil leaves, finely chopped ¼ cup grated vegetarian Parmesan-style cheese (plus extra for serving) ¼ teaspoon grated nutmeg ¼ teaspoon sea salt ¼ teaspoon cracked black pepper
Directions
Step 1 – Make the Tomato Sauce I heat olive oil in a large pan, then sauté the chopped onion with a pinch of salt for about 10 minutes until soft. I stir in the garlic and oregano and cook for another minute before adding the tomato puree and canned tomatoes (with a bit of water swirled in each can). I finish it with balsamic vinegar, salt, and pepper, then let it simmer for 15 minutes while I prep the rest.
Step 2 – Cook the Spinach In a skillet, I heat the olive oil and wilt the spinach in two batches. Once cooked, I let it cool and then squeeze out as much moisture as possible before chopping it roughly.
Step 3 – Cook the Pasta I boil the pasta shells in salted water until al dente—about 5 minutes less than the package instructions—then drain and rinse them under cold water so they’re easy to handle.
Step 4 – Make the Filling In a bowl, I mix the chopped spinach with ricotta, mozzarella, Parmesan-style cheese, garlic, basil, nutmeg, salt, and pepper until well combined.
Step 5 – Assemble the Dish I preheat the oven to 356°F (180°C), spread the tomato sauce in the bottom of a large oven-safe dish, and fill each pasta shell with about two teaspoons of the spinach-ricotta filling. I arrange the shells on top of the sauce and sprinkle extra mozzarella and Parmesan over them.
Step 6 – Bake I bake the shells uncovered for 30 minutes until the cheese is golden and bubbly. After baking, I let them cool slightly before serving.
Step 7 – Serve Right before serving, I garnish with extra Parmesan and fresh basil for that final touch of flavor and freshness.
Servings and Timing
Yield: Serves 6
Prep Time: 17 minutes
Cook Time: 45 minutes
Total Time: 1 hour 2 minutes
Variations
Use Frozen Spinach When I’m short on time, I use frozen spinach—just defrost, drain, and squeeze out the liquid before mixing it in.
Add Mushrooms I sauté mushrooms with the onions for a heartier, earthier flavor.
Add Heat I sprinkle a pinch of red pepper flakes into the tomato sauce for a bit of spice.
Swap Ricotta Sometimes I use cottage cheese or a mix of ricotta and cream cheese for a creamier texture.
Storage/Reheating
To Store I keep leftovers in an airtight container in the fridge for up to 3 days.
To Reheat I reheat individual portions in the microwave or bake covered in the oven at 350°F until hot throughout.
To Freeze I freeze the unbaked dish, tightly covered, for up to 3 months. I bake straight from frozen at 392°F (200°C) for 30 minutes covered, then uncover and bake for another 5–10 minutes.
FAQs
Can I make this ahead of time?
Yes, I often assemble the dish fully and refrigerate it a day in advance. I just bake it fresh when I’m ready to serve.
Can I use gluten-free pasta shells?
Absolutely. I just follow the cooking time on the package and handle them gently to avoid tearing.
How do I keep the shells from tearing?
I undercook them slightly and rinse under cold water—they’re much easier to fill when firm and cool.
What’s the best ricotta to use?
I go for a high-quality ricotta that’s smooth and creamy. If it’s very watery, I drain it slightly before using.
Can I add protein to this dish?
Yes, I sometimes add sautéed ground beef, turkey, or even lentils to the tomato sauce for extra protein.
Conclusion
These Stuffed Shells with Spinach and Ricotta are one of those dishes that always brings comfort and warmth to the table. From the cheesy filling to the rich tomato base, every bite is full of flavor. I love how easy it is to make ahead, freeze, or customize, making it a staple in my dinner rotation—especially when I want something cozy, satisfying, and meat-free.
These cheesy baked pasta shells are filled with creamy ricotta, tender spinach, and topped with melty mozzarella in a rich tomato sauce — the perfect Italian comfort food.
Author:Emma
Prep Time:17 minutes
Cook Time:45 minutes
Total Time:1 hour 2 minutes
Yield:Serves 6
Category:Dinner
Method:Baking
Cuisine:Italian
Diet:Vegetarian
Ingredients
For the Tomato Sauce:
1 tbsp olive oil
1 medium brown onion (150g), finely chopped
2 cloves garlic, minced
1 tbsp dried oregano
1 tbsp balsamic vinegar
1 tbsp tomato puree (paste)
¼ tsp sea salt
¼ tsp cracked black pepper
2 cans (14.5 oz/400g each) diced or chopped tomatoes
½ cup water (use to rinse tomato cans)
For the Stuffed Shells:
21 large pasta shells
½ tbsp olive oil
6½ packed cups fresh spinach (200g)
1 cup ricotta cheese (250g)
⅔ cup grated mozzarella (140g)
1 clove garlic, minced
Small handful fresh basil leaves, chopped (plus extra for garnish)
¼ cup vegetarian parmesan-style cheese (50g), plus extra for topping
¼ tsp grated nutmeg
¼ tsp sea salt
¼ tsp cracked black pepper
Instructions
Make the Tomato Sauce:
In a large skillet, heat olive oil over medium heat.
Add onion with a pinch of salt and sauté until translucent (about 10 minutes).
Stir in garlic and oregano; cook for 1 minute until fragrant.
Add diced tomatoes and rinse each can with ¼ cup water; add that water to the pan.
Stir in balsamic vinegar, tomato paste, salt, and pepper.
Reduce heat and simmer for 15 minutes, stirring occasionally.
Make the Filling:
Heat ½ tbsp olive oil in a skillet. Add spinach in batches, stirring until fully wilted.
Cool slightly, then squeeze out excess liquid. Roughly chop spinach.
In a mixing bowl, combine spinach, ricotta, garlic, basil, parmesan, nutmeg, salt, and pepper. Mix well.
Prepare the Shells:
Cook pasta shells in well-salted water until just al dente. Drain and rinse under cold water.
Preheat oven to 356°F (180°C).
Pour tomato sauce into a large baking dish or pan.
Fill each shell with about 2 teaspoons of spinach-ricotta filling and place on top of the sauce.
Sprinkle mozzarella and extra parmesan on top of the filled shells.
Bake uncovered for 30 minutes, until bubbling and lightly golden.
Cool slightly, then serve with more parmesan and fresh basil.
Notes
Pasta Tip: Cook shells slightly under to prevent tearing during stuffing.
Spinach Swap: Frozen spinach works — just defrost and squeeze out moisture.
Storage: Refrigerate leftovers for up to 3 days.
Freezing: Assemble unbaked, freeze up to 3 months. Bake from frozen at 392°F (200°C) covered for 30 minutes, then uncover and bake 5–10 more.