Brown the beef. Heat the olive oil in a large Dutch oven or deep skillet over medium-high heat. Add the ground beef and cook, breaking it up with a spoon, until no pink remains, about 6 to 8 minutes. Drain off excess fat.
Build the sauce. Add the diced onion to the beef and cook until softened, about 5 minutes. Stir in the garlic and cook 1 minute more until fragrant. Add the tomato paste and stir for 2 minutes so it caramelizes slightly. Pour in the crushed tomatoes, then stir in the oregano, basil, red pepper flakes, salt, pepper, and sugar.
Simmer. Bring the sauce to a gentle simmer, then reduce the heat to low. Cover partially and cook for 25 minutes, stirring occasionally, until thickened. Taste and adjust salt as needed. The sauce should be thick enough that a spoon leaves a trail — this is the key to non-watery lasagna.
Cook the noodles. While the sauce simmers, bring a large pot of salted water to a boil. Cook the lasagna noodles 2 minutes less than the package directions (they will finish cooking in the oven). Drain and lay flat on a baking sheet lightly coated with oil so they don't stick.
Mix the cheese layer. In a medium bowl, stir together the ricotta, beaten egg, parmesan, parsley, and salt until well combined.
Preheat and prep. Heat the oven to 375°F. Spread 1 cup of meat sauce over the bottom of a 9×13-inch baking dish.
Layer. Arrange 4 noodles over the sauce, slightly overlapping. Spread half of the ricotta mixture over the noodles, then top with 1 cup of mozzarella and 1 1/2 cups of meat sauce. Repeat: 4 noodles, remaining ricotta, 1 cup mozzarella, 1 1/2 cups sauce. Finish with the last 4 noodles, the remaining sauce, and the remaining 2 cups of mozzarella. Sprinkle extra parmesan on top.
Bake. Cover tightly with aluminum foil (tent it so it doesn't touch the cheese) and bake for 25 minutes. Remove the foil and bake 20 minutes more, until the cheese is bubbly and golden brown.
Rest. Let the lasagna rest for 15 minutes before slicing. This step is non-negotiable — it lets the layers set so every slice holds together.
Serve. Cut into squares, garnish with fresh basil if you like, and serve hot.