1 Cook pasta shells: 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 Cook onions, then sausage, then add garlic: 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. Lower the heat to medium. 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 Make ricotta spinach stuffing: 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.
4 Fill pasta shells with stuffing: Fill each cooked pasta shell with some of the ricotta, spinach, sausage mixture.
5 Arrange stuffed shells on chopped canned tomatoes in baking dish: 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.)
6 Bake: 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.