Preheat the oven to 350 degrees.
In a large pot, cook the onions and olive oil over medium high heat for 5-6 minutes, stirring until translucent.
Add in the sausage and garlic and cook for 3-5 minutes, stirring frequently, until the sausage is cooked.
Add in the tomatoes, tomato puree, tomato paste, salt, and pepper. Simmer, stirring frequently, for 20 minutes.
Meanwhile, cook the ground beef in a skillet over medium high heat, stirring frequently, about 7 minutes.
Add the ground beef to the tomato sauce mixture and remove from heat.
In a large bowl combine the eggs, ricotta, and mozzarella. Mix well.
Place a half cup of sauce on the bottom of a 9 x 13 inch baking dish.
Place 3 lasagna noodles on top of the sauce. Place 1/3 of the ricotta mixture on top of the noodles and spread evenly. Sprinkle with 3 ounces of Pecorino Romano. Spread with 1/4 of the sauce mixture. Repeat the layers two more times.
End by placing 3 lasagna noodles on top and pouring the remaining 1/4 of the sauce over top of the noodles then sprinkling it with the remaining 3 ounces of Pecorino Romano. I also sprinkles a handful of mozzarella cheese on top.
Cover with foil and bake for 30 minutes.
Remove foil and cook for 15 minutes.
Remove from oven and cool 5 minutes. Cut and serve.