In a large saucepan, drizzle the olive oil over medium heat.
Add the onion and cook, stirring occasionally, until beginning to soften. Stir in the garlic and cook until just fragrant, 30 seconds to 1 minute.
Crumble in the beef, breaking apart the pieces with a spoon.
Continue to cook, stirring occasionally, until browned and broken into small pieces. Season with salt and pepper.
Stir in the tomato paste until well coated. Add the soy sauce and Worcestershire sauce.
Pour in the red wine and stir well to deglaze the pan. Cook until the liquid is thickened and nearly evaporated.
Add the tomatoes, oregano, sugar, bay leaf, and basil. Once the mixture is boiling, reduce to a simmer and cook, stirring occasionally, until the tomatoes are completely softened and easily broken apart, about 30-45 minutes.
Adjust seasonings to taste, remove the bay leaf, and set aside.
To cook the Bechamel:
In a large saucepan, melt the butter over medium low heat.
Once melted, whisk in flour until golden and bubbling.
Slowly whisk in milk and continue to stir until thickened enough to coat the back of a spoon.
Season with salt, pepper, and nutmeg. Remove from heat.
To assemble:
Preheat oven to 375˚F (190˚C). Lightly grease a 9x13 inch (23x33 centimeter) deep baking dish with butter.
If cooking the pasta first: Bring a large pot of salted water to a boil. Add the dried lasagna noodles and cook until almost al dente, nearly tender. They will cook further in the oven. Drain and set aside.
Cover the bottom of the prepared baking dish with a thin layer of the béchamel sauce.
Top with a layer of the lasagna noodles.
Spread with a layer of 1/2 of the meat sauce.
Cover with a layer of the thinly sliced ham.
Top with another layer of béchamel, then 1/3rd of the Mozzarella and Parmesan.
Cover with another layer of pasta, then the remaining meat sauce, then ham, béchamel, and 1/3rd Mozzarella and Parmesan.
Add a final layer of noodles, then the remaining béchamel sauce, Mozzarella, and Parmesan.
Cover the baking dish with foil and bake in preheated oven for 30 minutes.
Remove the foil and bake until cheese is bubbly and beginning to turn golden, 15-20 minutes.
Allow to cool for 10 minutes before slicing and serving. Garnish with additional basil if desired.