Pasta shells stuffed with spinach and ricotta in homemade tomato sauce

Jump to Recipe

Today I am sharing my simple pasta shells recipe. These are pasta shells with ricotta and spinach and homemade marinara sauce.

This recipe for pasta shells with ricotta cheese is simple but there are a few steps to it. For the sauce, you can use store bought tomato sauce, but this marinara sauce recipe is so easy to make! You can make it while you are preparing the filling for pasta.

When I was shopping for pasta, for these pasta shells stuffed, I think I was tired because first afterwards I notices that the pasta I bough was designed my Dolce & Gabanna. And I remember seeing the packaging on their Instagram posts and thinking that that is the most beautiful pasta packaging I have ever seen! So here are some pictures of it. I think you will agree the same!

Traditionally these pasta shells with cheese or pasta shells with ricotta are filled with ricotta and mozzarella. I love the subtle flavours of both cheeses and the creaminess. But if you prefer you can use stronger cheese.

For these pasta shells with spinach you can alternatively use swiss chard and even wild greens if you want stronger flavour.

Combination of pasta, cheese and spinach is just irresistible! With some homemade tomato sauce recipe of course. And these stuffed pasta shells with ricotta look beautiful too!

If you are trying to eat more vegetarian, which is my goal for at least four days per week then these stuffed pasta shells with cheese are a perfect choice. They make great leftovers too!

You can serve these stuffed pasta shells with spinach as an appetizer or a main course. With lots of parmesan, fresh basil leaves and olive oil for pretty presentation, of course!

Pasta shells stuffed with spinach and ricotta in homemade tomato sauce

Course: Savory dishes, Vegeterian


Total time






  • For the tomato sauce
  • 720 gr whole canned tomatoes ( I used 480 gr regular tomatoes and 240 gr cherry tomatoes )

  • 1 yellow onion

  • 3 cloves of garlic

  • 3 tbsp olive oil

  • ½ tsp red pepper flakes

  • 1 tsp oregano

  • salt

  • For the pasta
  • 19 shells ( around 250 gr pasta)

  • 1 tbsp olive oil

  • 3 garlic cloves

  • 175 gr spinach

  • 150 gr grated mozzarella

  • 340 gr ricotta

  • 50 gr grated parmesan cheese + more for serving

  • 1 egg

  • 1 tbsp basil leave + more for serving

  • Salt&pepper


  • For the sauce
  • Place all the ingredients in a big pot. Bring to boil over medium-high heat then reduce the heat to simmering point.
  • When tomatoes start to soften, mash them against the pot using back of a wooden spoon. Do the same with garlic.
  • Simmer for around 30-40 minutes.
  • When sauce has thickened, remove it from the heat. Discard the onion. Leave it as is or blend until smooth using hand held mixer. Salt to taste.
  • For the pasta
  • Preheat the oven to 180°C.
  • Fill a large pot with water and bring to boil. Add pasta and cook until al dente. Drain but keep some water behind. In case any pasta shells are stuck together you can easier pull them apart with some of the pasta water.
  • Chop garlic finely and spinach roughly.
  • Add oil to a large pan. Turn heat to medium-high then add garlic and cook until fragrant. Add chopped spinach and cook until it starts to wilts but still stays bright green. This takes only a couple of minutes. If there is any liquid left in the pan, from spinach, discard it.
  • Transfer spinach to a large bowl. Add ricotta, mozzarella, parmesan, salt, pepper, egg and basil leaves. Mix just until it comes together.
  • Cover bottom of a baking dish (round 25 cm) with tomato sauce.
  • Fill each pasta shell with about spoonful of filling add place them all on top of the sauce.
  • Cover with another baking pan or aluminum foil and bake for 30 minutes. Remove the cover and bake for another 30 minutes or until pasta and the filling get some color.
  • Serve warm with more grated parmesan, more basil leaves and more olive oil!
  • Enjoy!

Recipe Video


Leave a Reply

Your email address will not be published. Required fields are marked *