Heat the oil in a large stock pot over medium heat. Add onion and garlic and saute 3 minutes, until soft. Add, beef and cook 5 to 7 minutes, until browned all over, breaking up the meat as it cooks. Stir in basil, oregano and red pepper flakes.
Add diced tomatoes and tomato sauce and bring to a simmer. Reduce heat to low and simmer 10 to 15 minutes. Remove from heat and set aside.
For the Lasagna:
Meanwhile, in a large bowl, combine ricotta, half of the mozzarella, egg, and black pepper. Mix well.
Pour 1 cup of the meat sauce in the bottom of a 13 by 9-inch lasagna pan. Arrange 4 UNCOOKED lasagna noodles on top of sauce, overlapping noodles slightly to cover the bottom. Spoon half of the cheese mixture over noodles. Top with 1 1/2 cups of meat sauce and 4 more noodles. Top second layer of noodles with remaining cheese mixture, 1 1/2 cups of meat sauce and 4 more noodles. Top noodles with 1 1/2 cups of meat sauce and remaining mozzarella cheese. Top with Parmesan cheese.
Refrigerate or freeze the remaining sauce.
Cover with foil and bake 45 minutes. Uncover and bake 15 more minutes, until top is golden and bubbly. Let stand 5 minutes before slicing.
This amount of filling makes enough for 3 recipes. If you are only making this recipe, the extra sauce can be frozen for up to 3 months.