Creamy, saucy, and loaded with flavor, Stuffed Shells with Spinach and Ricotta are the ultimate comfort food! These shells are easier to make than you’d think and are a must for holidays and gatherings!
This post may contain affiliate links. Our disclosure policy.
Editor’s Note: Originally published on February 10, 2021. Updated with improved photos, process shots, and new information. Also, the old recipe used a meat sauce. See below in the top tips section for other meat-based sauce suggestions.
When you grow up in an Italian-American family like I did, you know stuffed shells are synonymous with the holidays.
Whether it’s Easter, Christmas, or Thanksgiving, spinach and ricotta stuffed shells are more than likely to make an appearance.
And for good reason; stuffed shells are easier to make than lasagna (which is also a holiday staple), they can be made ahead of time (even frozen), and everyone loves them.
Recipe Ingredients
All ingredients for this recipe are shown in the pic below and special notes are made in this bulleted list to assist you.
- Shells. Look for jumbo shells. You’ll likely lose a few shells when you boil them as they’ll break so I usually make more than I actually need to account for this.
- Tomatoes. Use canned whole tomatoes plus tomato paste for a simple homemade marinara to coat the bottom of the pan, and to top the stuffed shells.
- Cheese. I always use a blend of ricotta, block mozzarella, and Pecorino Romano cheese for my stuffed shells recipe. The ricotta gives the delicious creamy texture, the mozzarella is perfect for melting, and the Pecorino gives it that unmistakeable flavor. Some ricotta cheeses are drier than others and may not need as much time to drain. For example, Galbani brand is drier than Polly-O, so Polly-O may need a little extra time to drain any excess liquid.
See the recipe card for full information on ingredients and quantities.
How to make it
Each number corresponds to the numbered written steps below.
- Slice 6 cloves of garlic, mince 1/2 cup worth of flat-leaf Italian parsley, grate 3/4 cup of Pecorino Romano, and shred 3 cups of block mozzarella cheese. Heat a large pot or pan to medium heat with 1/4 cup of extra virgin olive oil and add the garlic. Saute for 2 minutes or until golden then add 1/2 teaspoon of crushed red pepper flakes and cook for another 30 seconds.
- Add 3 tablespoons of tomato paste and cook for 5 minutes stirring frequently. If the paste starts to burn, add a splash of water.
- Add 1/2 cup of water and 3 28-ounce cans of hand-crushed or blender-pulsed plum tomatoes and bring the sauce to a lively simmer. Taste test and add salt and pepper as needed. Turn the heat to low and cover the pot with the lid cracked. Be sure to stir occasionally to prevent sticking. Right before assembling the shells, add 10 large hand-torn basil leaves to the sauce.
- Preheat the oven to 400°F and bring a large pot of salted water (2 tablespoons of salt per gallon of water). Once boiling, blanch 1 pound of baby spinach for 30 seconds, then place in a fine mesh strainer or in a clean kitchen towel and squeeze to remove as much water as possible. Chop the spinach and set aside.
- Using the same boiling water as the spinach, boil 1 pound of jumbo shells until very al dente (about 3 minutes less than the package instructions). Stir frequently to prevent sticking, then strain the shells and place them on clean kitchen towels to drain for a few minutes before moving them to a parchment paper lined baking sheet and separating to prevent sticking. Allow the shells to cool before stuffing.
- In a large bowl combine 1 1/2 pounds of drained ricotta, 2 cups of shredded mozzarella, 1/2 cup of grated Pecorino Romano cheese, the parsley, spinach, and 1/2 teaspoon of garlic powder. Taste the mixture and add a touch of salt, if needed. When satisfied with the taste, add 2 beaten eggs to the mixture and combine.
- Lay a thick layer of sauce, about 1-inch, on the bottom of a large baking dish. You’ll need either 2 9×13 or 1 large 13×18 pan to fit all the stuffed shells.
- Once the shells are cool, use a small spoon, spatula, or pastry bag to fill each shell with the ricotta mixture.
- Place each filled shell into the sauced pan, cheese side up, until the pan(s) are filled. For crispier shells, do not top with sauce (pan on the left). For saucier shells, which I prefer, top each shell with a good amount of sauce but don’t cover completely. Sprinkle the remaining mozzarella and Pecorino on top and cover with a piece of parchment paper then aluminum foil. Bake the stuffed shells for 20 minutes then remove the covering and bake for 15 minutes more until bubbly and crisp.
- If desired, broil the shells for the last 1-2 minutes but watch carefully. Remove from the oven and let the spinach and ricotta stuffed shells sit for at least 10 minutes before eating. Serve with extra sauce on the side and enjoy!
Top tips
- Drain the ricotta. As mentioned above, the ricotta cheese should be drained to prevent the filling from being too runny. It doesn’t need to be drained long, but just enough to get rid of the excess water.
- Boiling the shells. Since the stuffed shells will continue to cook in the oven, the shells should be boiled until very al dente, about 3 minutes less than the package instructions. This will help them stay intact while baking. It’s also good to boil more shells than you actually want since some will break during the boiling process and will be unusable.
- Crispy vs. saucy. If you love crispy stuffed shells, don’t top them with sauce, or very little sauce. I prefer saucy stuffed shells, so I like to add a lot of sauce to the top. Use as much as you’d like to suit your personal preference.
- Meat sauce. While the sauce I use for this stuffed shells recipe is a meatless marinara, feel free to use a meat sauce as I do in my pasta al forno recipe, or my baked penne with Italian sausage recipe. You could certainly use Sunday sauce or Ragu alla Bolognese for these shells as well!
Want To Save This Recipe?
More amazing baked pastas
If you are a fan of baked pastas, you’ve come to the right place. Give these other tried and true favorites a try!
If you’ve enjoyed this Stuffed Shells with Spinach and Ricotta Recipe or any recipe on this site, give it a 5-star rating and tell us about it in the comments below.
We strive to satisfy a number of learning styles. If you are someone who prefers to learn by watching, you can find most of our recipes on YouTube and our Facebook Page.
For more never-before-seen FULL MEAL RECIPE VIDEOS, become a Patreon member today!
Stuffed Shells with Spinach and Ricotta
Ingredients
For the sauce
- 1/4 cup (60ml) extra virgin olive oil
- 6 cloves garlic sliced
- 1/2 teaspoon crushed hot red pepper flakes
- 3 tablespoons (45g) tomato paste
- 1/2 cup (120ml) water
- 3 28-ounce can plum tomatoes hand crushed or blender pulsed
- salt and pepper to taste
- 10 large basil leaves hand torn
For the ricotta mixture and shells
- 1 pound (454g) jumbo shells about 40 shells
- 1 1/2 pounds (680g) whole milk ricotta drained
- 3 cups (340g) shredded whole milk mozzarella cheese
- 1/2 cup minced flat-leaf Italian parsley
- 1 pound (454g) baby spinach blanched, water squeezed out, and chopped
- 3/4 cup (68g) grated Pecorino Romano
- 2 large eggs beaten
- 1/2 teaspoon garlic powder
Want To Save This Recipe?
Instructions
For the sauce
- Heat a large pot or pan to medium heat with olive oil and add the garlic. Saute until golden (about 2 minutes) then add the crushed red pepper flakes and cook for another 30 seconds.
- Add the tomato paste and cook for 5 minutes stirring frequently. If the paste starts to burn add some of the water. Add the remaining water and the plum tomatoes and bring the sauce to a lively simmer.
- Taste test and season with salt and pepper as required. Turn the heat to low, and cover the pot with the lid cracked, making sure to stir occasionally. Mix in the basil a few minutes before assembling the shells.
For the shells
- Preheat the oven to 400°F.
- Bring a large pot of salted water (2 tablespoons salt per gallon of water). Blanch the baby spinach for 30 seconds. Place the spinach in a fine mesh strainer or in a clean kitchen towel and squeeze out as much water as possible. Give the spinach a chop and set it aside.
- Boil the shells in the same pot until very al dente (about 3 minutes less than package directions). Stir frequently to avoid sticking. Strain the shells and place on clean kitchen towels to drain for a few minutes then transfer the shells to a parchment paper-lined baking sheet to avoid sticking. Allow the shells to cool before stuffing.
- Combine the ricotta, 2 cups shredded mozzarella, 1/2 cup of grated Pecorino Romano cheese, parsley, baby spinach, and garlic powder. Taste test the ricotta mixture and if desired add a bit of salt. When satisfied with the taste add the 2 beaten eggs and combine.
- Ladle a thick layer of sauce (about 1") onto the bottom of a large baking dish. You will need two 9×13 baking dishes or one large 13×18 deep baking pan.
- To fill the shells use either a small spoon or spatula or a pastry bag filled with the ricotta mixture. Either spoon or pipe the filling into each shell. Place the filled shells into the baking dish seam side up.
- Top the shells with more of the sauce but do not cover completely. Sprinkle the remaining mozzarella and Pecorino cheese on top. Cover with a piece of parchment paper then aluminum foil. Bake the shells for 20 minutes. After 20 minutes remove the covering and bake for 15 minutes more until bubbly and crisp. You can broil the top during the last 1-2 minutes but watch carefully.
- Let the shells sit for at least 10 minutes before eating. Extra sauce can be served on the side. Enjoy!
Notes
- Makes 6 large or 8 moderate sized servings.
- Boil the shells until very al dente. They will be cooked for 35 minutes longer and will become too soft if cooked all the way prior to baking. Boil more shells than you want! Some will break and will be unusable.
- Serve any extra sauce on the side.
- The stuffed shells can be frozen (works well to freeze them in a foil baking tray)and reheated at 350-400°F until hot all the way through.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Follow Me
This recipe was originally published on February 10, 2021. It was completely updated on December 9, 2024.
Advice. In your opinion, 14 people for dinner, stuffed shells (yours) meatballs,antipasto salad and 2 loaves of homemade Italian bread, many shells should I consider for each person? Not holding you to anything just opinion. I’ve 65 .
Hi CL, some people like 3 shells, others can eat 10 (especially in our family LOL). We think 5-7 shells is a good estimate per person. Hope you enjoy!
Love this recipe, I’ve made it a few times. Today I got all the ingredients out and realized I didn’t have shells so I used manicotti instead and it worked perfectly.
We’re so happy you enjoyed, Liane!
I made these and froze before baking. My question is do I defrost them first before or add sauce and bake frozen?
Warm Regards
Cathy
Hi Cathy, you can defrost them first, then add the sauce and bake.