Heat olive oil in a large pot over medium heat. Add diced onion and garlic; cook until softened.
Stir in Italian sausage and ground beef. Cook until browned, breaking up meat as it cooks. Drain excess fat, leaving some moisture.
Add whole tomatoes (crushed by hand), tomato sauce, Italian seasoning, red pepper flakes, salt, and pepper. Simmer uncovered for 25–30 minutes. Reserve 3–4 cups of sauce to cool slightly.
Boil ziti pasta in salted water until just shy of al dente. Drain and rinse with cool water.
In a large bowl, combine ricotta, 2 cups mozzarella, parmesan, egg, and a pinch of salt and pepper. Stir gently to keep ricotta pockets visible.
Mix cooled pasta with cheese mixture, then add reserved sauce. Toss until combined but not overly wet.
Layer half of pasta mix in a baking dish, followed by half of remaining meat sauce and mozzarella. Repeat layers with remaining ingredients.
Bake at 375°F (190°C) for 20–25 minutes until cheese is melted and edges are bubbling. Let rest 5–10 minutes before serving. Garnish with parsley if desired.