1 12-oz. package jumbo pasta shells
1 tbsp. olive oil
1 cup onion, finely chopped
1 lb. Italian sausage, casings removed
3 cloves garlic, minced
1 large egg, lightly beaten
1 15-oz. container ricotta cheese
6-7 oz. fresh spinach, chopped
1 cup freshly grated Parmesan cheese, divided
1 tbsp. chopped fresh basil or 1 tsp. dried basil
1/4 cup bread crumbs (We didn't have these on hand so I omitted them)
1/2 tsp. salt
1/2 tsp. pepper
1 28-oz. can chopped tomatoes with herbs, including the liquid (This was definitely better than a jarred spaghetti sauce. It added a little more flavor)
Bring a large pot of salted water to boil. Cook pasta shells according to package directions. Drain, rinse with cold water, and set aside.
Heat olive oil in a large skillet over medium heat. Add the onions and cook until softened. Add the sausage to the pan, breaking it into smaller pieces as it cooks. Cook until the sausage is completely cooked through and no pink remains, about 5 minutes. Add the garlic and cook until fragrant, about 30 seconds. Remove from the heat.
In a large mixing bowl, combine the egg, ricotta, spinach, 1/2 cup of the Parmesan, basil, bread crumbs, salt, and pepper. Stir together to combine. Add the cooked sausage mixture to the bowl and stir until evenly mixed.
Preheat the oven to 375 degrees F. Spread a thin layer of the chopped tomatoes in the baking dishes (either three 8×8″ pans, or one 9×13″ and one 8×8″). Stuff each shell with some of the sausage and cheese mixture, and arrange in the baking dishes, open side up. Spread the remaining tomatoes over the top of the pasta shells.
Cover the pans with foil and bake for 30 minutes. Remove foil and sprinkle with remaining Parmesan cheese. Bake, uncovered, for 10 more minutes.