Cook pasta shells according to package directions until al dente. Drain and rinse with cold water to prevent sticking.
In a large skillet, heat olive oil over medium heat. Add ground beef and cook, breaking it up with a spoon, until browned. Drain off any excess grease.
Add chopped onion and cook until softened, about 5 minutes. Add minced garlic and cook for 1 minute more until fragrant.
Stir in the marinara sauce and bring to a simmer. Remove from heat.
In a medium bowl, combine ricotta cheese, beaten egg, grated Parmesan cheese, dried parsley, salt, and pepper. Mix well.
Spread about 1 cup of the marinara sauce mixture on the bottom of a 9x13 inch baking dish.
Carefully spoon the ricotta cheese mixture into each cooked pasta shell. Arrange the stuffed shells in a single layer in the baking dish.
Pour the remaining marinara sauce over the stuffed shells. Top with shredded mozzarella cheese.
Cover the baking dish with foil and bake for 20 minutes. Remove foil and bake for another 10 minutes, or until cheese is melted and bubbly.
Let stand for a few minutes before serving.
Notes
For a vegetarian option, omit the ground beef and add sautéed mushrooms or spinach to the ricotta filling.