In a large mixing bowl use your hands to mix together the ground beef, oregano, basil, garlic, crushed red pepper, and 1 tsp salt until thoroughly combined.
Heat a dutch oven or large pot over medium-high heat. When the pot is hot add the beef mixture and cook while breaking it up until browned, about 5 minutes. Transfer the cooked beef to a paper towel lined plate and set aside.
Keep the pot over medium-high heat and add the olive oil. Add the onion, tomatoes, 1/4 tsp salt, and 1/4 tsp pepper to the pot and cook, stirring often, until the onion is softened, and the tomatoes begin to break down, about 10 minutes.
Take off the heat and stir in the beef. Cover the pot and set aside while you cook the pasta.
Preheat the oven to 375°F.
Cook the pasta al dente according to the package instructions. Drain the pasta reserving 1/2 cup of the pasta water.
Take the pot off the heat and stir the cooked pasta and reserved pasta water in with the beef and tomatoes.
Spread HALF the pasta mixture in a 9x13-inch baking dish. Sprinkle on HALF the mozzarella cheese then spread on the remaining pasta mixture. Sprinkle with the remaining mozzarella cheese then sprinkle on the Parmesan cheese.
Bake in the oven, uncovered, until cheese on top is melted, about 10 minutes.