The best beefy stuffed shells are cheesy with plenty of marinara sauce. You’ll love this amazing comfort food recipe.
This comforting stuffed shells recipe has a ground beef and ricotta filling along with plenty of marinara sauce and mozzarella cheese. The ground beef browns while the pasta cooks, then the filling is made and everything is assembled before going in the oven.
Additional details about this recipe are below or you can click here to jump straight to the recipe.
What Kind Of Pasta Should I Use?
Ideally you want jumbo pasta shells, however they can be hard to find in some regions. And note that all “jumbo” shells are not the same size, so check the packages carefully. You’ll want pasta shells that are at least 2 and 1/2 to 3 inches in length (uncooked), which are the best size for stuffing.
If they’re unavailable in your area, this beef filling works well stuffed into manicotti and cannelloni pasta shapes, too.
Tips For Stuffed Shells
Brown the ground beef well until caramelized in some places. This will give the stuffed shells a complex and deep flavor when mixed with the creamy ricotta.
I’ve used prepared marinara in this recipe as a shortcut, but you can also use homemade tomato sauce in this stuffed shells recipe. You’ll need three cups, which is equivalent to a 24 ounce jar of sauce.
As to how long to boil the pasta, I like to do mine to just about the texture I like to eat pasta at, not harder. The reason is that I want the baking process once the full dish is assembled to be as quick as possible. Therefore, I don’t want the pasta to need to continue to soften in the oven before the dish is ready to eat. In other words, I only want the baking part to be responsible for warming things up, not for actually cooking anything. If I was instead relying on the baking time to continue to cook the pasta, it can take quite awhile because the sauce needs to heat up, and then the cooking will start. This way, the pasta is fully-cooked, and there is no extra time needed.
How To Make The Filling
To make the Beefy Stuffed Shells, begin by browning the ground beef and cooking the pasta shells at the same time. So, you’ll get your pasta water boiling and then start your filling by heating some oil over medium-high heat in a large skillet. Then add the onion and cook until just tender. This will take about two minutes. Stir this occasionally to prevent the onion from browning.
Add the ground beef and salt to the onion in the skillet and continue cooking until the ground beef is well browned and caramelized. Using lean ground beef is important for this recipe because we don’t want to add too much moisture to the ricotta, which can leave it runny even after baking.
At some point while you’re making the filling, your pasta water will come to a boil. Add salt to it and then add in your pasta. Once it returns to a boil, reduce the heat to a simmer and cook until pasta is al dente. Check your package instructions to get an idea of the amount of time needed. Then you’ll drain the pasta.
Once the beef is cooked, remove the skillet from the heat, and drain off any excess fat or liquid. Transfer the beef to a large plate so that it will cool down a little. You’ll be adding it to some ricotta mixed with egg in a moment and you don’t want the beef to be so hot that it cooks the egg.
In a large bowl combine the ricotta cheese, egg, Italian seasoning, and garlic powder. Then stir in the ground beef mixture. Give it a taste at this point. You won’t be adding any more seasoning to this dish at all from here on out, so you need to make sure that this filling tastes how you’d like it to. Go ahead and add a bit more salt, garlic powder, and some black pepper too, if you think it needs it. And now, you’re ready to stuff your shells!
Assembling Stuffed Shells
Preheat oven to 400°F, and pour 2 cups of tomato sauce into a 9×13-inch baking dish, spreading it around so that it coats the bottom of the dish.
Fill each cooked shell pasta with about 1 heaping tablespoon of the filling. To get it in there, it helps to use a smaller spoon, like the teaspoon from your flatware set. Nestle the stuffed shell into the sauce in the baking dish as you fill them. I like to arrange mine in rows.
Depending on how full you were able to get your shells, you might have some filling left over. If you do, you can save it for another use, or sprinkle it into the sauce around the shells.
Top each stuffed shell with a spoonful of the remaining marinara sauce and sprinkle the mozzarella cheese evenly over the stuffed shells. The recipe calls for just a cup of mozzarella, but if you like your stuffed shells extra cheesy, add another cup and maybe even a bit of Parmesan.
Cover the baking dish with aluminum foil, being careful not to let the foil to touch the marinara sauce or cheese. The acid in the pasta sauce can react with the aluminum foil, and the cheese will stick to the foil.
Place the baking dish in the oven and bake for 20 minutes. Remove the foil, and bake 6 to 8 minutes more or until the cheese is melted and browned.
Remove the baking dish from the oven, and serve immediately. This dish goes great with a simple green salad and fresh garlic bread.
How To Freeze Stuffed Shells: Two Methods
Stuffed shells are a great thing to freeze. For me, one reason is that one box of shell pasta makes more than my family eats in a dinner. And actually, if you look at the picture above of the shells stuffed but not sauced, you’ll see that there are only 14 of them there, as opposed to the 20 that the recipe calls for. This is because 14 is the number that my family typically eats for dinner in one night (there are often only three of us at home for dinner). A typical 12 ounce box of pasta shells contains about 40-44 shells. So I will often do three pans of 14 shells at once, cook one for dinner, and then freeze two of them.
How do I freeze them? I actually have two different ways that you can freeze shells and both work really well.
Freezing Stuffed Shells Method #1 – The Whole Dish: I prepare the baking dish of shells with sauce and cheese, up to the point where they would go into the oven. I don’t bake them though. Instead, I cover them tightly with plastic wrap and aluminum foil, and freeze the whole pan.
When I want to make these for dinner, the best thing to do is to take the baking dish out of the freezer the day before and let it defrost in the fridge. Then I bake it just like when they’re fresh.
However, I often forget to take it out of the freezer. In that case, I remove any plastic, cover the dish in lightly greased foil, and bake it at 300°F for 40 minutes, and then at 400°F until the cheese is melted, sauce is bubbling, and the meat is hot, about another 20 minutes.
The other thing you can do is take the baking dish out of the freezer, remove all metal, and then defrost it in the microwave. Once thawed, you cook it at 400°F until cheese is melted, sauce is bubbling, and meat is heated through.
Freezing Stuffed Shells Method #2 – Individual Shells: This is my favorite way to freeze stuffed shells. If I do it this way, then I end up with a bag of un-sauced frozen shells in my freezer. They’re super-quick to thaw and to cook when I need a quick meal.
What you do is to fill the stuffed shells, but don’t put them into any sauce. Instead, line a baking sheet with wax or parchment paper, and put the shells onto the sheet. If they’re tipping over, lean them against the edge of the pan. Then the baking sheet of shells goes into the freezer. Once the shells are frozen, take them off the paper and put them into a zip top bag. They will stay individually frozen in that bag.
When you want to cook up these individually frozen shells, you just take the number that you want out of the bag and nestle them in some tomato sauce in a baking dish, leaving space between them (that helps them thaw and heat faster). Top with more sauce, cheese, and a sheet of greased foil. Bake at 350°F until cheese is melted, sauce is bubbling, and meat is heated through, about 45 minutes.
Listen to learn how to make this recipe, along with some great tips from Christine:
- 20 uncooked jumbo pasta shells (about 6 oz.)
- 1 Tbsp. cooking oil
- 1 small onion, minced
- 1 lb. lean ground beef
- 1 tsp. salt
- 1 (15 oz.) container whole milk ricotta cheese
- 1 egg, lightly beaten
- 2 tsp. dried Italian seasoning
- 2 tsp. garlic powder
- 1 (24 oz.) jar prepared marinara sauce, divided
- 1 cup shredded mozzarella
- Bring a large pot of water to the boil. Salt water and then boil pasta shells according to package directions until pasta is al dente. Drain pasta.
- While the water comes to a boil and the pasta cooks, prepare your beef filling as follows.
- In a medium skillet heat oil over medium-high heat. Add onion. Cook, stirring occasionally until soft, about 2 minutes.
- Add ground beef and salt to skillet. Cook until well browned and caramelized, stirring occasionally. Remove from heat, drain off any fat or liquid, and then transfer the beef to a large plate so it can cool down a little bit.
- In a large bowl combine ricotta, egg, Italian seasoning, and garlic powder until well mixed. Add the ground beef to the ricotta mixture and stir. Taste the mixture and season with salt, black pepper, and garlic powder, if desired.
- Preheat oven to 425°F.
- Grease a 9×13 baking dish and one side of a large piece of aluminum foil with cooking spray or oil. Set foil aside. Add 2 cups of marinara to the baking dish and spread it out evenly.
- Fill each cooked shell with about 1 heaping tablespoon of the ricotta filling. Nestle stuffed shells in the sauce that’s in the baking dish, arranging shells in side-by-side in rows. If you have filling remaining, sprinkle it in the sauce around the shells.
- Top each stuffed shell with a spoonful of the remaining marinara sauce. Sprinkle mozzarella cheese evenly over stuffed shells.
- Cover baking dish tightly with prepared aluminum foil, oiled-side-down.
- Bake until sauce is bubbling, 20-25 minutes.
- Remove foil, bake 6 to 8 minutes more or until cheese is melted and starting to brown.
- Remove from oven, serve immediately.
Love this recipe? I’d appreciate it if you could scroll down and add a *5 star rating* to help others know they’ll love it as well!