1. In a large saucepan, heat 1 Tbsp of the olive oil over medium heat. Break up the sausage and sauté in two batches until cooked. Remove with a slotted spoon and drain on paper towels. Set aside.
2. Wipe out the pan and heat the remaining tablespoon olive oil over medium heat. Sauté the onions and garlic until caramelized.
3. Combine the sausage, onions, garlic, tomatoes, and marinara sauce and simmer, covered for 30 to 60 minutes. Add a small amount of water if the sauce becomes too thick. Set aside.
4. In a large bowl, combine the ricotta, eggs, parsley, and 1 cup of the Parmesan cheese.
5. Cook the pasta in a large pot of boiling salted water for half the time specified on the package. Drain and rinse in cold water. Return to the pot and toss with 2 cups of the sausage and sauce mixture. Spread out evenly so the pasta does not continue to cook. Set aside.
6. Preheat the oven to 350°F. Set a 9 x 13-inch Pyrex casserole or baking dish on an aluminum foil–lined baking sheet.
7. Ladle 1 cup of the sausage and sauce mixture in the bottom of the pan. Spread evenly over the bottom of the pan. Add half the pasta and top with half the ricotta cheese mixture. Ladle 2 cups of the sauce over the cheese. Repeat, finishing with the sausage and sauce mixture. Top with the mozzarella and ½ to 1 cup of the Parmesan cheese.
8. Bake 30 to 40 minutes or until bubbly. Serve hot with extra Parmesan cheese.
Cook's Note: Refrigerate any extra sauce. It will keep well for several days.