I began by browning the ground beef and Italian sausage in a large pot, breaking the meat into crumbles. After draining excess fat, I sautéed the chopped onion and minced garlic until softened and fragrant. Then I added crushed tomatoes, tomato paste, tomato sauce, water, sugar, dried basil, fennel seeds, Italian seasoning, salt, pepper and chopped parsley. I brought it to a low boil, then reduced the heat and let it simmer uncovered for about 1½ hours, stirring occasionally for that deep flavor.
In a medium bowl I combined the ricotta cheese, large egg, salt, black pepper and fresh parsley. I stirred until smooth and fully incorporated. I set this mixture aside while the sauce finished simmering and I cooked the noodles.
Next I brought a large pot of salted water to a boil and cooked the lasagna noodles until they were al dente — about 8–10 minutes. I stirred occasionally so they wouldn’t stick. Then I drained them and rinsed with cold water, then laid them flat on a baking sheet or lightly oiled them to prevent sticking.
With the oven preheated to 375 °F (190 °C), I greased the 9×13-inch baking dish and spread one cup of meat sauce on the bottom. I laid three noodles over the sauce, slightly overlapping. Then I spread one-third of the ricotta mixture evenly, followed by one-third of the shredded mozzarella and ¼ cup Parmesan. I repeated these layers two more times: noodles, ricotta mixture, mozzarella & Parmesan, and meat sauce. For the final layer I topped with the remaining meat sauce and all of the remaining mozzarella and Parmesan.
I covered the baking dish with aluminum foil (sprayed lightly with cooking spray underneath so the foil wouldn’t stick to the cheese), and baked it covered for 25 minutes. Then I removed the foil and baked for another 25 minutes or until the cheese on top was golden and bubbling. Finally I let the lasagna rest for 15 minutes before slicing and serving — the resting helps the layers hold together for clean slices.