Preheat oven to 350°F. Brush a 10-inch deep dish cast iron skillet, pie dish or oven safe skillet with olive oil. Set aside. (Alternately, you can use a deep 10-inch pie pan, or a 9x9-inch square baking pan sprayed with cooking spray.)
Cook spaghetti per the package directions in salted water until al dente. Drain well.
Meanwhile, in a large skillet, cook ground beef, sausage and diced onions in a couple drizzles of olive oil over medium-high heat. Cook for 6-8 minutes or until no pink remains. Add garlic, cooking for 1 minute longer. Drain excess fat from pan.
To the skillet, add marinara sauce, tomato paste, Italian seasoning, salt and red pepper flakes. Taste, adjusting salt to your taste. Simmer over medium heat for 15 minutes, then remove from heat. (This can be done in advance, then chilled until assembling.)
To Assemble: Toss spaghetti with butter while warm until butter has melted. Add eggs and 3 Tbsp Parmesan cheese, mix well. Press onto bottom and 1-inch up sides of skillet.
Top spaghetti layer with 1/2 cup shredded mozzarella cheese. Spread ricotta over cheese. Top ricotta with 1 cup shredded mozzarella cheese. Pour 2-3 cups spaghetti sauce evenly on top, leaving a 1/2 inch border around the edge. Top with final 1 cup mozzarella cheese and 1 Tbsp Parmesan cheese. Place into oven. Bake for 30-40 minutes until bubbly and golden.
Let stand for 5-10 minutes, then cut and serve.