01 - Preheat oven to 375°F and grease a 9x13-inch baking dish.
02 - Bring a large pot of salted water to a boil. Add ziti and cook until al dente, about 8 minutes. Drain and set aside.
03 - In a large skillet, heat olive oil over medium heat. Add chopped onion and cook until softened, 3 to 4 minutes, then add garlic and cook for 1 additional minute.
04 - Add ground beef and Italian sausage to the skillet. Cook, breaking up the meat, until browned and fully cooked, about 6 to 8 minutes. Drain excess fat if necessary.
05 - Stir in crushed tomatoes, tomato paste, oregano, basil, red pepper flakes if desired, salt, and black pepper. Simmer uncovered for 10 to 15 minutes, stirring occasionally.
06 - In a mixing bowl, combine ricotta cheese, egg, grated Parmesan, and chopped parsley, mixing until homogenous.
07 - Spread a thin layer of meat sauce on the bottom of the prepared baking dish. Layer half of the cooked ziti, half of the ricotta mixture, and half of the meat sauce. Sprinkle with 1 cup mozzarella.
08 - Repeat layering with remaining ziti, ricotta mixture, and meat sauce. Top with the remaining mozzarella and Parmesan cheese.
09 - Cover dish with foil and bake for 20 minutes.
10 - Remove foil and continue baking for 15 to 20 minutes, until cheese is bubbly and golden brown.
11 - Let casserole rest for 10 minutes before serving.