Recipe fully from Simply Recipes.
1 Bring a large pot of salted water to a boil (1 teaspoon salt per quart of water). Cook the pasta shells according to the instructions on the package. Drain, rinse in cold water, and set aside.
2 Heat olive oil in a large skillet on medium high heat. Add the onions and cook until softened, about 5 minutes. Add the sausage to the pan, breaking up the sausage into smaller bits. Cook sausage until cooked through, and no pink remains, about 5 minutes. Add the garlic and cook until fragrant, about 30 seconds to a minute more. Remove pan from heat.
3 Beat the egg lightly in a large bowl. Mix in the ricotta, chopped spinach, 1/2 cup of the Parmesan cheese, basil, bread crumbs, salt, pepper, and sausage mixture. Fill each cooked pasta shell with some of the ricotta, spinach, sausage mixture.
4 Spread 1/2 cup chopped canned tomatoes over the bottom of each of the baking dishes. Arrange the stuffed pasta shells in the dishes. Spread the remaining tomatoes over the top of the pasta shells.
At this point you can make ahead, to freeze (up to four months) or refrigerate before cooking. (If freezing, cover with foil, then wrap with plastic wrap.)
5 Heat oven to 375°F. Cover the pans with foil and bake for 30 minutes, until hot and bubbling. Remove foil and sprinkle with remaining Parmesan cheese, bake uncovered for 10 more minutes.