
This post may contain affiliate links or sponsored content. That means if you click on my link and buy something, I will earn a small commission from the advertiser at no additional cost to you. For more information on this, please click here.
Stuffed Shells with Meat and Ricotta is classic Italian American comfort food that everyone loves! Perfect for Sunday dinner, holidays, game day and lots of get-togethers, this recipe is the perfect make-ahead dish. Read on for more!

We all need some tried-and-true recipes that can easily serve a crowd.
And, since almost everyone loves the dreamy combo of cheese and pasta, these Stuffed Shells with Ricotta and Meat is a great, easy recipe to have in your culinary arsenal. And the best part, they can be completely assembled ahead of time and can even be frozen successfully so they’ll be ready when you are!
A few other hearty, make ahead baked pasta recipes that you might like are this classic Italian American lasagna, easy baked ziti and vegetable lasagna with white sauce.
These stuffed pasta shells are made with three types of cheeses (creamy ricotta, melty mozzarella and sharp Pecorino Romano–the perfect combo!) and two other ingredients that you don’t often see in stuffed shells–sautéed ground beef and spinach. I’ve included ground beef in this recipe for years and think it makes the shells so much more interesting!
And, I love adding in some dark leafy greens to my meals whenever possible and spinach is just perfect in this recipe with all the other rich ingredients. I always use frozen spinach in this recipe for its convenience and because I always have some on hand.

The hearty shells are baked with lots of savory tomato basil sauce until they have just the right amount of crispy ends! Maybe it’s personal thing, but I do think those semi-burnt edges are some of the best parts of the dish!
Any tomato basil or marinara sauce can be used, whether homemade or store bought. Just be sure that it’s one that you really like! Bad sauce will make bad stuffed shells!
You can make these beef and spinach stuffed shells as saucy and cheesy as you’d like! I prefer to bake them with a thick layer of sauce on the bottom and just a dab of sauce and mozzarella on top. But you can definitely add to this.
Cheesy and delicious–this recipe is a real crowd pleaser! Hope you enjoy it soon. Mangia bene!

Main Ingredients Notes
To make this ricotta, spinach and beef stuffed shells recipe, we’ll be using the following ingredients:
- Pasta Shells: Be sure to use “jumbo shells”. Depending on the brand, 1 pound of jumbo shells will be anywhere from 50 to 60 shells or so. The filling in this recipe is enough to fill 1 pound of shells assuming that some will break along the way and never get stuffed. (This always happens, so it’s best to plan for it–trust me!)
- Beef: Since there is a good amount of cheese in this dish, I use a lean ground beef (90/10) here. But, use what you have and just drain off excess grease from the pan. Make sure to break the beef up a good amount while browning. I use a meat chopper to make this job much easier!
- Spinach: I suggest frozen spinach in this recipe for convenience, you can, of course, use fresh spinach. Be sure to strain out as much excess liquid as possible from all the thawed or cooked spinach.
- Tomato Sauce: Homemade tomato sauce is preferred, but you can 100% use a jarred sauce. Just make sure it’s a sauce that you like. If the sauce does not taste good, the final dish will not taste good. Some sauce will get absorbed as the shells bakes, so be generous with the bottom layer of sauce. Also, be sure to have extra hot marinara ready for serving.
- Spices: Garlic powder, onion powder, black pepper, salt and a little red pepper flakes are mixed into the spinach and beef mixture for added flavor. If you really want to use fresh onions and garlic, go for it! (But, presumably, these are already in the tomato sauce that you’re using.)
- Ricotta Cheese: Adds richness and creaminess. Use whole milk/full fat ricotta for best flavor. A low fat or skim ricotta may need straining before using as it tends to be a little watery.
- Mozzarella Cheese: Melty and delicious! Be sure to buy block mozzarella and shred it yourself using a box grater to avoid the filmy, anti-caking agents used on pre-shredded cheeses.
- Pecorino Romano Cheese: Sharp and salty pecorino cheese for richness and lots of flavor. You can substitute it with grated parmesan cheese if desired. Be sure to have extra for serving!
- Eggs: Eggs are used in the filling to help bind/stabilize it so that it doesn’t ooze out of the shells. It also helps to keep the cheese creamy and intact. Without the eggs, the cheese/filling may be a but runnier, but the stuffed shells will taste the same.

How to Make Stuffed Shells with Meat and Ricotta
- MAKE THE BEEF/SPINACH MIXTURE: Heat olive oil in large skillet over medium heat, then add beef and break it up as it browns. Once it’s brown, stir in the spinach and spices. At this point, if there is still any residual liquid in the spinach, let it cook off. Then turn the heat off and set this mixture aside to cool.
- COOK PASTA: Once the water has come to a boil, add salt then the pasta and a splash of olive oil and cook until 3 minutes less that the package directions. Drain the shells very well, then lay them on a sheet pan and cover with a damp paper towel until ready to stuff.
- PRO-TIP: You will likely have some breakage and this is ok. You can discard the broken shells or just eat and enjoy them!



- MAKE THE CHEESE MIXTURE: Stir the ricotta, all but about ½ cup of the mozzarella, pecorino, eggs and black pepper together until all ingredients are well-combined.
- Then, fold in the cooled beef/spinach mixture and stir the pasta stuffing until well-combined.
- STUFF THE COOKED PASTA SHELLS: Gather the greased baking dish, tomato sauce, cooked pasta shells and the beef/spinach/cheese filling.
- PRO-TIP: Be sure to strain out and discard any excess liquid that has accumulated in the cooked mixtures



- Spoon a thick layer of sauce on the bottom of the baking dish.
- Next, using a small spoon, carefully stuff the cavity of each shell with the filling.
- Then nestle the stuffed shell in the sauce. Continue until all shells are stuffed and place the shells about ¾” apart from each other.


- Once you’re finished stuffing the shells and they are all in the sauce-lined baking dishes, top each with a light drizzle of tomato sauce and extra virgin olive oil and a light sprinkling of shredded mozzarella and pecorino cheese.
- Bake the filled shells covered on the middle rack of the preheated 375°F oven for 20 minutes, then uncover until the sauce is bubbling and the shells have some crispy edges. This should take another 25 minutes or so for a total of about 45 minutes. All ovens are different, though, and the actual cooking time will vary.
- Remove Italian stuffed shells from oven and serve them in the baking dish with some additional heated marinara sauce and grated cheese on the side. Buon Appetito!



More Cozy Comfort Food Recipes
If you like beef and spinach stuffed shells, check out these other comfort foods:

Freezing Italian Stuffed Shells
Stuffed shells can be frozen for up to three months prior to baking. Just place the stuffed shells on a parchment-lined sheet pan about 1” apart from each other and place in freezer until each shell is individually frozen. Then, remove the sheet pan from the freezer and carefully transfer the frozen shells to an airtight freezer bag or container, label it, and place them back in the freezer. Defrost frozen shells in the refrigerator. Then, bake as per the recipe below.
You can also bake the stuffed shells from their frozen state. In this case, add about 20 minutes or so to the recipe baking time and cover them with foil for the first 30 minutes of baking.
You can also freeze cooked stuffed shells. In fact, freezing individual portions is a great idea! Let it cool completely, then freeze them in an airtight container or freezer-safe dish for up to three months. Defrost it overnight in the refrigerator. Then unwrap and reheat in a 375°F oven for 10 to 15 minutes or until heated through.


What Could Go Wrong . . .
The best ways to keep stuffed shells from getting watery or soggy are by (1) never using uncooked vegetables as they will release a lot of water during baking, and (2) not using soggy ingredients or ingredients with excess liquid.
Most vegetables contain a high water content. And, if they are not cooked until dry, or strained properly before adding them to the recipe, then the resulting dish may be soggy.
Make sure as much liquid as possible is squeezed out of the spinach before adding it to the lasagna. Likewise, some ricottas are very watery and, if they are, then they should be drained a bit as well of excess liquid. Finally, make sure the tomato sauce is on the thick side and is not watery.
Leftovers
Leftovers of beef and spinach stuffed shells can be stored in an airtight container in the refrigerator for up to 3 days. Reheat them in a 350°F oven or a skillet, covered, over medium low heat with a little bit of water and a bit more sauce if you have some until heated through.

Variations and Substitutions
Here are a few great suggestions for twists and additions to this stuffed shells with ricotta and meat recipe:
- Use Italian Sausage: Either substitute half the ground beef mixture with Italian sausage or go whole hog with sausage–either way you can’t go wrong!
- Ground Turkey/Chicken: I suggest a lean ground beef for this recipe, but if you’re looking for a leaner meat, either ground turkey or ground chicken can be used in place of the beef.
- Meat Sauce: In place of sautéing ground beef, you can use a tomato sauce with beef/meat as an alternative to a plain marinara.
- Make It Richer! Not that it needs to be richer, but if you’re looking for a unique slant on this recipe that brings with it increased richness, swap the tomato basil sauce out for creamy vodka sauce and you will wow everyone!
- Add Heat: If you have a crowd that really loves their picante, then consider swapping out the marinara sauce for spicy arrabbiata sauce. Of course, you can achieve heat by drizzling a hefty amount of homemade Italian chili oil over your portion as well!
- Leave the spinach out if you’re looking for a more simple recipe without greens.
- Grated parmesan cheese can be used in place of pecorino.

TOP TIPS FOR STUFFED SHELLS
- Pasta Shells: Be sure to use “jumbo shells”. Depending on the brand, 1 pound of jumbo shells will be anywhere from 50 to 60 shells or so. The filling in this recipe is enough to fill 1 pound of shells assuming that some will break along the way and never get stuffed. (This always happens, so it’s best to plan for it–trust me!)
- Ricotta Cheese: Use full fat, whole milk ricotta and drain if it is watery.
- Mozzarella: It’s always best to shred the mozzarella yourself to avoid the anti-caking agents that are added to pre-shredded cheeses. I always buy whole milk block mozzarella and then shred it myself on a box grater. You can use fresh mozzarella in this dish, but be sure to chop/dice it into very small pieces and strain any excess liquid out of it.
- Spinach: I use frozen spinach in this recipe for convenience and because I always have it on hand. You can use either chopped or whole spinach leaves, but the key is to squeeze out as much liquid as possible once its thawed. You can also start with fresh spinach, but will have to blanch/boil it first briefly and also squeeze it dry.
- Oil in Pasta Water: While I would almost never suggest adding oil to pasta water (since it reduces the adherence of sauce to pasta), this is one of the only exceptions for it. Pasta shells have a tendency to stick together when they cook and rest and the oil will help prevent that.
- Tomato Sauce/Marinara: Homemade tomato basil sauce is preferred, but you can 100% use a jarred spaghetti sauce. Just make sure it’s a sauce that you like. If the sauce does not taste good, the final baked ziti will not taste good.
- Make in Advance: The stuffed shells can be completely made ahead–assembled, covered tightly in plastic wrap, and held in the refrigerator for up to two days prior to baking. Alternatively, they can be frozen for three months prior to baking. See Frequently Asked Questions above for more details on this.
- Serving Suggestions: These meat and ricotta stuffed shells are very hearty and only need a tossed green salad and your favorite garlic bread to make a complete meal. I almost always serve them with sautéed broccoli rabe as well and always make sure to have some homemade spicy Italian pepper oil on the table when serving.
- Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. Reheat them in a 350°F oven or a skillet, covered, over medium low heat with a little bit of water and a bit more sauce if you have some until heated through.
I hope that you are enjoying my Italian food blog and all of my Italian recipes and Italian-American recipes!
If you’ve tried this Stuffed Shells with Meat and Ricotta recipe, please let me know how it went in the comments below. I love hearing from you!
FOLLOW ME on FACEBOOK and INSTAGRAM to see more delicious food and what might be going on behind the scenes!

Stuffed Shells with Meat and Ricotta
Equipment
- Cheese grater (optional)
Ingredients
- Olive oil to grease baking dish
For the Beef/Spinach Mixture:
- 1 Tbsp olive oil
- 1 pound lean ground beef (I used 90/10)
- 1 pound frozen chopped spinach, thawed and squeezed dry
- 1½ tsp garlic powder
- 1½ tsp onion powder
- ½ tsp salt
- ½ tsp black pepper
- ¼ tsp crushed red pepper flakes
For the Cheese Mixture:
- 1½ pounds whole milk ricotta cheese
- 8 ounces mozzarella cheese, shredded on box grater (about 2½ cups shredded), divided
- 1¼ cup grated Pecorino Romano cheese + more for top (5-6 ounces)
- 2 large eggs, beaten
- ½ tsp black pepper
For the Rest of the Stuffed Shells:
- 1 pound jumbo pasta shells + salt for pasta water
- Pinch of olive oil
- 5-6 cups tomato basil sauce (marinara sauce) + more for serving
- Extra virgin olive oil
- Grated Pecorino Romano cheese for serving
Instructions
- Prep all ingredients according to specifications above. Bring a large pot filled with water to a boil for the pasta. Rub the bottom and sides of a large baking dish (or a few smaller dishes) that will hold all the shells with olive oil and set aside. Make sure as much liquid as possible is squeezed out of the spinach–it should be dry.(Please see the section above in the blog post forStep-By-Step instructions with photos.)1 pound frozen chopped spinach,
- MAKE THE BEEF/SPINACH MIXTURE: Heat olive oil in large skillet over medium heat, then add beef and break it up as it browns. Once it’s brown, stir in the spinach and spices. At this point, if there is still any residual liquid in the spinach, let it cook off. Then turn the heat off and set this mixture aside to cool.1 Tbsp olive oil, 1 pound lean ground beef, 1 pound frozen chopped spinach,, 1½ tsp garlic powder, 1½ tsp onion powder, ½ tsp salt, ½ tsp black pepper, ¼ tsp crushed red pepper flakes
- COOK PASTA: Once the water has come to a boil, add salt then the pasta and a splash of olive oil and cook until 3 minutes less that the package directions. Drain the shells very well, then lay them on a sheet pan and cover with a damp paper towel until ready to stuff. You will likely have some breakage and this is ok. You can discard the broken shells or just eat and enjoy them!1 pound jumbo pasta shells
- MAKE THE CHEESE MIXTURE: Stir the ricotta, all but about ½ cup of the mozzarella, pecorino, eggs and black pepper together until all ingredients are well-combined. Then, fold in the cooled beef/spinach mixture and stir until well-combined.1½ pounds whole milk ricotta cheese, 8 ounces mozzarella cheese,, 1¼ cup grated Pecorino Romano cheese, 2 large eggs,, ½ tsp black pepper
- Arrange a rack in the middle of the oven and preheat it to 375°F. (Do not use the convection setting.)
- STUFF THE COOKED PASTA SHELLS: Now that all of the components are ready, it’s time to stuff the shells. Gather the greased baking dish, tomato sauce, cooked pasta shells and the beef/spinach/cheese filling. Be sure to strain out and discard any excess liquid that has accumulated in the cheese mixture.5-6 cups tomato basil sauce
- First, spoon a thick layer of sauce on the bottom of the baking dish.
- Next, using a small spoon, carefully stuff the cavity of each shell with the filling. Then nestle the stuffed shell in the sauce. Continue until all shells are stuffed and place the shells about ¾” apart from each other.
- Once you’re finished stuffing the shells and they are all in the sauce-lined baking dishes, top each with a light drizzle of tomato sauce and extra virgin olive oil and a light sprinkling of shredded mozzarella and pecorino cheese. (See photo above.)
- Bake the stuffed shells covered with foil on the middle rack of the preheated 375°F oven for 20 minutes, then uncover until the sauce is bubbling and the shells have some crispy edges. This should take another 25 minutes or so for a total of about 45 minutes. All ovens are different, though, and the actual cooking time will vary.NOTE: If the shells are getting too brown or appear dried out, recover the baking dish with foil. Alternatively, if the sauce is on the watery side, you can cook the shells uncovered the whole time or for more time that noted above.
- Remove shells from oven and serve them in the baking dish with some additional heated marinara sauce and grated cheese on the side. Buon Appetito!
Notes
- The number of servings is approximate and depends on what else you will be serving. I figured on 5 to 6 shells per person, but adjust accordingly.
- Depending on the brand, 1 pound of jumbo shells will be anywhere from 50 to 60 shells or so. The filling in this recipe is enough to fill 1 pound of shells assuming that some will break along the way and never get stuffed. (This always happens, so it’s best to plan for it–trust me!)
- Both the spinach/beef and cheese mixtures can be made up to two days in advance and held in airtight containers in the refrigerator.
- Use full fat, whole milk ricotta cheese for best results.
- It’s always best to shred mozzarella yourself to avoid the anti-caking agents that are added to pre-shredded cheeses. I always buy whole milk block mozzarella and then shred it myself on a box grater. You can use fresh mozzarella in this dish, but be sure to chop/dice it into very small pieces and strain any excess liquid out of it.
- I use frozen spinach in this recipe for convenience and because I always have it on hand. You can use either chopped or whole spinach leaves, but the key is to squeeze out as much liquid as possible once its thawed. You can also start with fresh spinach, but will have to blanch/boil it first briefly and also squeeze it dry.
- Homemade tomato basil sauce is preferred, but you can 100% use a jarred sauce. Just make sure it’s a sauce that you like. If the sauce does not taste good, the final dish will not taste good.
- Some sauce will get absorbed as the shells bakes, so be generous with the bottom layer of sauce. Also, be sure to have extra hot marinara ready for serving.
- While I would almost never suggest adding oil to pasta water (since it reduces the adherence of sauce to pasta), this is one of the only exceptions for it. Pasta shells have a tendency to stick together when they cook and rest and the oil will help prevent that.
- The stuffed shells can be completely assembled, covered tightly in plastic wrap, and held in the refrigerator for up to two days prior to baking. Alternatively, they can be frozen for three months prior to baking. Just place the stuffed shells on a parchment-lined sheet pan about 1” apart from each other and place in freezer until each shell is individually frozen. Then you can remove the sheet pan from the freezer and carefully transfer the frozen shells to an airtight freezer bag or container and place back in the freezer. Defrost frozen shells in the refrigerator. Then, bake as per the recipe above.
- You can also bake the stuffed shells from their frozen state. In this case, add about 20 minutes or so to the baking time and cover them with foil for the first 30 minutes of baking.
- Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. Reheat them in a 350°F oven or a skillet, covered, over medium low heat with a little bit of water and a bit more sauce if you have some until heated through.
- You can also freeze cooked stuffed shells. In fact, freezing individual portions is a great idea! Let it cool completely, then freeze them in an airtight container or freezer-safe dish for up to three months. Defrost it overnight in the refrigerator, then unwrap and reheat in a 375°F oven for 10 to 15 minutes or until heated through.