For the meat sauce: In a stockpot or Dutch oven, combine the beef (do not brown first), tomato sauce, tomato paste, chili powder, sugar, salt, pepper, garlic salt, bay leaves and onion. Add 2 cups water. Mix until combined. Cover and simmer over medium-low heat for 1 1/2 to 2 hours, stirring occasionally. Stir in the vinegar and simmer for another 30 minutes.
For the lasagna: Preheat the oven to 375 degrees F. Spray a 9-by-13-inch baking dish with nonstick cooking spray and place the dish on a rimmed baking sheet.
In a medium bowl combine the ricotta, basil, parsley, garlic salt, red pepper flakes, if using, and egg and stir until well blended.
Spread 2 cups meat sauce across the bottom of the prepared baking dish. Place 4 noodles over the sauce—it is okay if they overlap slightly. Dollop 2/3 cup of the ricotta mixture on the noodles, then spread it in an even layer. Top the ricotta with 4 slices ham, then 4 slices provolone. Sprinkle 1 cup mozzarella over the provolone. Repeat the layering—sauce, noodles, ricotta, ham, provolone, mozzarella—twice more. Top with another layer of noodles, then the Parmesan and the remaining mozzarella.
Cover the baking dish tightly with foil. Bake until the dish is bubbling and the noodles are cooked (you can test by poking with a sharp knife to make sure the noodles are soft), about 50 minutes. Remove the foil and return to the oven until the cheese is bubbling and golden brown, another 10 to 15 minutes. Let the lasagna rest for 10 minutes, then serve warm.