These beef and ricotta stuffed shells are one of the most requested pasta dishes with my family and friends. Whether it’s for a weeknight dinner or entertaining a crowd, I love to serve these shells with a spinach ricotta filling as a main course or a side dish. They’re easy to assemble in one pan in advance (great for kids to help with!) and bake right before dinner.
Our favorite part of making stuffed shells for dinner is that they make for great leftovers, and they often taste better the next day. It’s one of those dinner recipes that takes stress out of the week since you can make them in advance or even make a second casserole and freeze it to serve at a later date.
Plus, you can customize the filling every time you make it; omit the beef for vegetarian, or add ground chicken or Italian sausage for a twist on the classic.

Why you’ll love this recipe
- Perfect pasta bake for a crowd. If you need to serve a crowd, whether it’s a main course or a side dish, these beef and ricotta shells are one of our favorite recipes.
- Prep the components in advance. You can meal prep this for easy assembly by making the meat sauce the day before. Even fill the shells a few hours before serving and keep in the fridge until you are ready to bake.
- A recipe kids love to help make. Get the whole family involved on stuffing the shells, this will cut the prep time in half!
Tips for Busy Cooks
Make a second stuffed shells casserole, wrap well with plastic wrap, and freeze for up to 2 months. You’ll be thanking yourself when you need dinner in a pinch!

Key Ingredient Notes
For pasta bake:
- Jumbo pasta shells – These are also known as conchiglioni pasta. Be sure you buy the jumbo size and not the large size to allow for the filling to fit correctly.
For meat sauce:
- Lean ground beef – The protein for the sauce. We prefer lean ground beef so the sauce isn’t greasy.
- Ground porcini powder – Optional but highly recommended, this is easy to make when you buy dried porcinis from the store and pulse them in a coffee grinder until they make a fine powder.
- Italian seasoning – Herbal seasoning that adds nice warmth and flavor to the sauce.
- Garlic cloves – We love garlic flavor in any Italian meat sauce recipe!
- Marinara sauce – Use your favorite jarred brand to keep this quick and simple.
Cheese filling:
- Ricotta cheese – The base of the filling mixture. You can use whole milk or part-skim here.
- Frozen chopped spinach – Make sure you thaw this in advance and squeeze out all of the excess liquid in a clean kitchen towel.
- Shredded mozzarella cheese – Adds nice cheesiness to the filling and gives it a gooey texture.
- Shredded Parmesan cheese – The third cheese to add lots of flavor, it gives the filling a rich and salty quality.
- Large egg – Helps to bind the filling and add a little extra richness.
- Pesto sauce – Adds fresh basil and garlic flavor in the ricotta cheese.
How to make beef and ricotta stuffed shells
Preheat the oven to 400°F.

Step 1: Par-cook the pasta shells in salted water 3 minutes less than the package directions. You want the shells to be soft yet still retain their shape. They’ll continue cooking in the meat sauce. Drain well and cool slightly.

Step 2: Heat a large (12-inch) skillet over medium heat. Add the beef to the skillet, along with porcini powder (if using), Italian seasoning, garlic, and salt. Cook the meat until no longer pink, breaking it apart with a wooden spoon, about 5 minutes.

Step 3: Stir in the marinara sauce and simmer for 10 minutes, stirring occasionally.

Step 4: Combine ricotta cheese, spinach, 1 cup of mozzarella cheese, parmesan cheese, egg, and pesto in a medium bowl. Mix well.

Step 5: Once the pasta shells are cooled to the touch, fill them with the cheese mixture. (TIP: I like to put the cheese mixture into a piping bag with a round tip (or a freezer bag with one corner cut) and squeeze the filling into the shells.)

Step 6: Pour half of the meat sauce into the bottom of a large baking dish. (I used a 9×13-inch pan.)

Step 7: Arrange the stuffed pasta shells, open side up, in a single layer over the meat sauce.

Step 8: Top the shells with the remaining meat sauce.

Step 9: Cover with foil and bake for 30 minutes. Remove the foil and bake another 10 minutes or so.

Step 10: Let it rest for 5 minutes before serving.
Expert Tips:
- Use a piping bag for the cheese mixture. This creates little to no mess when adding the mixture into the shells. If you don’t have a piping bag, you can also use a zip top bag with the corner snipped off.
- Adding porcini powder is so worth it for rich flavor in a quick cooking meat sauce. When you don’t have time to simmer the sauce for hours, buy some dried porcini mushrooms from the produce section of the grocery store. Pulse them into a fine powder in a spice grinder and add them into the sauce.
- Don’t boil the shell pasta for too long. You want to cook them a couple of minutes less than the package instructions. They will continue cooking when they are baking in the oven. This will avoid mushy pasta!
- Use a lean ground beef and don’t add any oil when cooking the meat. I like to make sure my red sauce isn’t greasy, so I like to buy 90/10 ground beef and not add any extra oil to brown it in the skillet.
- Squeeze all of the excess liquid out of the spinach. This is so important to make sure your ricotta filing isn’t watery. Use a clean dish towel to wring out all of the liquid before stirring the spinach into the ricotta.
Storage
Store any leftover beef stuffed shells in an airtight container in the fridge for up to 3 days. Reheat in the oven or on the stovetop for a few minutes until warmed through.
Freeze the leftover baked stuffed shells with ricotta in an airtight container or in the casserole dish wrapped well in plastic wrap in the freezer for up to 2 months. Thaw overnight in the fridge and reheat in the oven until warmed through.

FAQs
We love using lean ground beef, but you can use ground chicken, ground turkey, even Italian sausage if you prefer.
Adding egg to the ricotta mixture is necessary in stuffed shells to make sure the cheese sets and isn’t gooey or runny in the pasta bake.
You don’t want to overcook the noodles. Be sure not to stuff the shells too full, have enough sauce to evenly cover them, and cover the dish while baking for most of the cook time to ensure the pasta bake cooks evenly.
More delicious pasta recipes

Beef and Ricotta Stuffed Shells
Ingredients
- 12 oz jumbo pasta shells aka conchiglioni pasta
For meat sauce:
- 1 lb lean ground beef
- 2 tablespoons ground porcini powder optional but highly recommended Note 1
- 1 tablespoon Italian seasoning
- 6 garlic cloves minced or grated
- 1 teaspoon coarse kosher salt
- 1 (24oz) jar marinara sauce
Cheese filling:
- 1 (15oz) tub ricotta cheese
- 1 (10oz) bag frozen chopped spinach thawed and squeezed well
- 2 cups shredded mozzarella cheese divided
- ½ cup shredded Parmesan cheese
- 1 egg
- 2 tablespoons pesto sauce
Instructions
- Preheat the oven to 400°F.
- Par-cook the pasta shells in salted water 3 minutes less than the package directions. You want the shells to be soft yet still retain their shape. They’ll continue cooking in the meat sauce.
- Drain well and cool slightly.
To prepare the meat sauce:
- While the pasta cooks, prepare the meat sauce.
- Heat a large (12-inch) skillet over medium heat.
- Add the beef to the skillet, along with porcini powder (if using), Italian seasoning, garlic, and salt.
- Cook the meat until no longer pink, breaking it apart with a wooden spoon, about 5 minutes. (TIP: I don’t use any oil when cooking ground beef. But if needed, feel free to heat about a tablespoon of olive oil before adding the beef.)
- Stir in the marinara sauce and simmer for 10 minutes, stirring occasionally.
To prepare the cheese filling:
- Prepare the cheese filling while the meat sauce is cooking.
- In a medium bowl, combine ricotta cheese, spinach, 1 cup of mozzarella cheese, parmesan cheese, egg, and pesto. Mix well.
- Once the pasta shells are cooled to the touch, fill them with the cheese mixture. (TIP: I like to put the cheese mixture into a piping bag with a round tip (or a freezer bag with one corner cut) and squeeze the filling into the shells.)
To assemble:
- Pour half of the meat sauce into the bottom of a large baking dish. (I used a 9×13-inch pan.)
- Arrange the stuffed pasta shells, open side up, in a single layer over the meat sauce, and then top with the remaining meat sauce.
- Sprinkle the mozzarella cheese evenly over the meat sauce.
- Cover with foil and bake for 30 minutes. Remove the foil and bake another 10 minutes or so.
- Let it rest for 5 minutes before serving.
Share your thoughts! If you make this please leave a review letting me know how it was!
Notes
– Store any leftover beef stuffed shells in an airtight container in the fridge for up to 3 days. Reheat in the oven or on the stovetop for a few minutes until warmed through.
– Freeze the leftover baked stuffed shells with ricotta wrapped well in plastic wrap in the freezer for up to 2 months. Thaw overnight in the fridge and reheat in the oven until warmed through.
Nutrition
* Disclaimer: All nutrition information are estimates only. Read full nutrition disclosure.

Tried this recipe?
Make sure to leave a recipe review below!
Sharing of this recipe is encouraged and appreciated. Copying of full recipe to any social media is prohibited.




Comments + Reviews