01 - Set the oven temperature to 350°F.
02 - Heat olive oil in a large skillet over medium heat. Sauté onion, garlic, carrot, and celery until softened, about 5 minutes.
03 - Add ground beef, breaking it up with a spoon, and cook until browned. Stir in tomato paste and cook for 1 minute.
04 - Pour in crushed tomatoes and red wine if using. Add oregano, basil, sugar, salt, and pepper. Simmer uncovered for 25 to 30 minutes, stirring occasionally, until sauce thickens.
05 - Melt butter in a medium saucepan over medium heat. Add flour gradually, whisking constantly for 1 to 2 minutes. Slowly add warm milk, whisking until smooth and thickened, about 5 minutes. Season with nutmeg, salt, and white pepper.
06 - Prepare lasagna noodles according to package instructions until al dente. Drain and lay flat on a clean towel.
07 - Spread a thin layer of meat sauce in a 9x13 inch baking dish. Add a layer of noodles, followed by one third of the meat sauce, one third of the béchamel sauce, and a sprinkle of mozzarella cheese.
08 - Repeat layering two more times, finishing with béchamel sauce and the remaining mozzarella and Parmesan cheeses on top.
09 - Cover the dish with foil and bake for 30 minutes.
10 - Remove foil and continue baking for an additional 15 to 20 minutes, until the top is golden and bubbling.
11 - Allow the dish to rest for 10 to 15 minutes before serving. Garnish with fresh basil leaves if desired.