In a large, heavy-bottom pot over medium heat sauté the onion, celery, carrot and bay leaf in the olive oil until onion is translucent. Add ground beef, pork, and prosciutto to the sautéed vegetables, and use a wooden spoon to break up the meat and combine with the vegetables. When the meat is nearly cooked, add tomato paste and stir to fully incorporate. Add white wine and simmer until the wine evaporates. Add the crushed tomatoes and 1/2 can (from the tomatoes) water.
Bring the sauce to a boil and then reduce to a simmer. Cook, uncovered, for approximately 2 hours until reduced. Add salt and pepper to taste.
Bring a large pot of salted water to a boil.
In a large bowl, mix eggs into the ricotta. Add the Parmigiano, ½ teaspoon each of salt and pepper, and ¾ of the mozzarella.
Cook the lasagna sheets for half of the manufacturer’s suggested cooking time, drain and set aside. Coat the bottom of a baking pan – 9 x 11 or other similar size at least 3″ deep – with a little olive oil, and then cover with 3/4 cup of sauce. Place a layer of lasagna, a layer of the ricotta mixture and 3/4 cup of sauce. Repeat layers until you reach the top of the pan. Depending on the depth and size of the pan, you may have leftover lasagna, or you can make more layers with slightly less filling between layers. Cover top with a layer of lasagna and 3/4 cup of the sauce, the remaining mozzarella and a generous amount of grated Parmigiano. Cover with aluminum foil and cook at 350° F for about 30 minutes. Remove foil and cook for another 10-15 minutes until top is browned and the sides are bubbling.
Remove from oven and let rest for 10 minutes before serving.