Spinach and ricotta stuffed pasta shells baked in silky bechamel with a golden parmesan top, 100% meatless Italian comfort. ♡

These spinach ricotta stuffed pasta shells are the cozy Italian dinner I turn to when I want something richer than red sauce. Jumbo shells stuffed with creamy spinach ricotta, then baked in a silky parmesan bechamel sauce. For more ideas, see our Vegetarian Enchiladas.
100% meatless with a creamy white sauce instead of traditional marinara. Pure vegetarian comfort food in one bakeable dish. Let’s make it together.

Ingredients
Spinach Ricotta Stuffed Pasta Shells
- 24 jumbo pasta shells
- 10 oz fresh spinach
- 2 tbsp olive oil
- 3 cloves garlic, minced
- 15 oz whole milk ricotta
- 1 cup shredded mozzarella
- 3/4 cup grated parmesan, divided
- 1 large egg
- 4 tbsp butter, for bechamel
- 4 tbsp all purpose flour
- 3 cups whole milk, warmed
- 1/4 tsp nutmeg, freshly grated
- 2 tbsp fresh parsley, chopped
- salt and pepper, to taste

How to Make Spinach Ricotta Stuffed Pasta Shells
- **Boil.** Cook shells 2 minutes less than package directions. Drain and rinse.
- **Spinach.** Heat olive oil in a skillet. Cook garlic 30 seconds. Add spinach in batches, wilt 3 minutes. Squeeze cool spinach dry and chop.
- **Filling.** Mix ricotta, mozzarella, 1/2 cup parmesan, egg, chopped spinach, salt, and pepper.
- **Bechamel.** Melt butter in a saucepan. Whisk in flour 1 minute. Slowly whisk in warm milk. Simmer 5 minutes until thickened. Stir in nutmeg, salt, pepper, and 1/4 cup parmesan.
- **Assemble.** Heat oven to 375F. Spread 1 cup bechamel in a baking dish. Fill each shell with 2 tbsp ricotta. Nestle into the sauce. Pour remaining bechamel over top. Sprinkle with remaining parmesan.
- **Bake.** Cover with foil. Bake 25 minutes. Remove foil. Broil 2 minutes. Top with parsley.
Why This Recipe Works
Making a simple bechamel (butter plus flour plus milk) elevates these stuffed shells far beyond basic red sauce shells. The creamy white sauce carries garlic, nutmeg, and parmesan directly into every crevice of the shells, resulting in a luxurious texture that tastes like Italian cafe pasta.
Using fresh spinach (not frozen) is a small but important upgrade. Fresh spinach wilts briefly with garlic and retains its bright green color and clean flavor. Frozen spinach works in a pinch but often carries a tinny, slightly bitter aftertaste.
Broiling the top for 2 minutes at the end caramelizes the parmesan into a golden crust that contrasts with the soft ricotta filling below. Without this step the top stays pale and the whole dish feels unfinished. For more ideas, see our Vegetarian Stuffed Shells.
Tips
- Use fresh spinach for a brighter, cleaner filling.
- Vegan swap: cashew ricotta plus cashew bechamel replaces the dairy here.
- Store leftovers in the fridge for up to 4 days.
- Reheat covered in a 350F oven for 20 minutes.
- Undercook shells by 2 minutes. They finish in the bechamel.
- Broil 2 minutes at the end for a golden parmesan crust.
Variations
- Swap bechamel for marinara for a classic red sauce version.
- Add sauteed mushrooms to the ricotta filling.
- Use a mix of ricotta and goat cheese for a tangier filling.
- Top with extra shredded mozzarella for an even cheesier finish.
- Make it vegan with cashew ricotta and cashew bechamel.
- Add sun dried tomatoes to the bechamel for extra flavor.
Looking for more vegetarian ideas? Try our Vegetarian Chili or Vegetarian Breakfast Casserole next.
Common Mistakes to Avoid
- Lumpy bechamel: Add milk slowly while whisking. Lumps mean too much milk at once.
- Wet spinach: Squeeze wilted spinach thoroughly. Wet spinach waters down the filling.
- Over cooked shells: Undercook shells 2 minutes. They finish in the bechamel.
- No broil: Broil the top 2 minutes at the end for a golden crust.


Spinach Ricotta Stuffed Pasta Shells
Ingredients
Method
- **Boil.** Cook shells 2 minutes less than package directions. Drain and rinse.
- **Spinach.** Heat olive oil in a skillet. Cook garlic 30 seconds. Add spinach in batches, wilt 3 minutes. Squeeze cool spinach dry and chop.
- **Filling.** Mix ricotta, mozzarella, 1/2 cup parmesan, egg, chopped spinach, salt, and pepper.
- **Bechamel.** Melt butter in a saucepan. Whisk in flour 1 minute. Slowly whisk in warm milk. Simmer 5 minutes until thickened. Stir in nutmeg, salt, pepper, and 1/4 cup parmesan.
- **Assemble.** Heat oven to 375F. Spread 1 cup bechamel in a baking dish. Fill each shell with 2 tbsp ricotta. Nestle into the sauce. Pour remaining bechamel over top. Sprinkle with remaining parmesan.
- **Bake.** Cover with foil. Bake 25 minutes. Remove foil. Broil 2 minutes. Top with parsley.
Notes
Sources: USDA FoodData Central for nutrition data and Academy of Nutrition and Dietetics vegetarian guide.


