01 - Heat olive oil in a large skillet over medium heat. Add chopped onion and cook for 3 to 4 minutes until softened. Add minced garlic and cook for 1 minute. Add ground beef, breaking it up with a spoon, and cook until browned. Drain excess fat. Stir in tomato paste, crushed tomatoes, tomato sauce, oregano, basil, thyme, salt, pepper, and sugar. Simmer uncovered for 25 to 30 minutes, stirring occasionally, until thickened. Adjust seasoning as needed.
02 - In a saucepan, melt butter over medium heat. Whisk in flour and cook for 1 to 2 minutes until pale golden. Gradually whisk in warm milk, stirring constantly to prevent lumps. Add nutmeg, salt, and white pepper. Cook while whisking until thickened and smooth, about 5 to 7 minutes. Remove from heat.
03 - If using regular lasagna noodles, cook them according to package instructions until al dente. Drain and set aside. If using no-boil noodles, skip this step.
04 - Preheat oven to 375°F. Spread a thin layer of meat sauce on the bottom of a 9 by 13 inch baking dish. Layer 3 to 4 noodles over the sauce. Spread 1/3 of the béchamel sauce over noodles, then 1/3 of the ricotta if using, 1/3 of the meat sauce, and sprinkle with 1/3 of mozzarella and Parmesan. Repeat layers twice more, finishing with béchamel and cheeses on top.
05 - Cover baking dish with foil sprayed with cooking oil to prevent sticking. Bake for 25 minutes. Remove foil and bake an additional 20 minutes until golden and bubbling. Let rest for 15 minutes before slicing. Garnish with fresh basil if desired.