Heat olive oil in a large skillet or Dutch oven over medium heat. Cook diced onion for 5 minutes until softened, then add minced garlic and cook for 1 minute.
Add ground beef and Italian sausage (casings removed). Cook over medium-high heat for 8-10 minutes, breaking up the meat, until fully browned. Drain excess fat.
Stir in crushed tomatoes, tomato paste, water, dried basil, oregano, garlic powder, onion powder, sugar, salt, and pepper. Simmer uncovered on low for at least 20-30 minutes (ideally 45 minutes) to develop flavor.
Bring a large pot of generously salted water to a boil. Cook lasagna noodles 2 minutes less than package instructions. Drain, rinse briefly with cold water, and lay flat on an oiled sheet to prevent sticking.
In a bowl, mix ricotta cheese, eggs, 1/2 cup grated Parmesan, chopped parsley, salt, and pepper until smooth. Set aside. Preheat oven to 375°F (190°C).
Lightly grease a 9x13-inch baking dish. Spread 1 cup meat sauce on the bottom.
Layer 3 noodles, one-third of ricotta mixture, one-quarter of remaining sauce, 3/4 cup mozzarella, and 2 tbsp Parmesan. Repeat twice more. Top with final 3 noodles, remaining sauce, all remaining mozzarella, and Parmesan.
Cover tightly with foil (spray underside to prevent sticking) and bake for 45 minutes. Remove foil and bake uncovered 15-20 minutes until cheese is golden and sauce bubbles. A knife should slide easily into the center.
Remove from oven and let rest uncovered for at least 15 minutes (20-25 preferred) before slicing into squares with a sharp knife and wide spatula.