Prepare the meat sauce:
Heat olive oil in a large skillet over medium high heat. Add ground beef and brown for about 10 to 12 minutes.
Chop onions and garlic.
Add to meat. Continue browning for another 10 minutes.
Add the spices and tomato paste. Mix well.
Cook and stir for 5 to 6 minutes. Add wine and simmer, uncovered, for 20 minutes.
Turn off heat. Mix in lemon juice. Set sauce aside.
Peel eggplants. Slice off top and bottom. Slice into 1/4″ rounds. Line a broiler pan with foil. Brush with olive oil Broil eggplant slices 3 to 4 minutes. Turn and broil 2 to 3 minutes longer until browned. Remove from pan and set aside. You will be doing this in 3 to 4 batches.
Wash potatoes. No need to peel if using yellow or red potatoes. Cut into 1/4″ slices. Boil in salted water for 5 to 8 minutes; you don’t want them soft, just semi done. Drain and set aside.
Prepare the béchamel sauce:
Heat butter in a medium saucepan over medium heat. When melted, whisk in flour. Blend well.
Slowly pour in milk, whisking constantly.
Add salt and nutmeg. Place egg yolks in a small bowl. Stir with fork. Drizzle in one to two tablespoons of the white sauce. Stir into egg yolks. Pour yolk mixture into béchamel sauce. Whisk constantly until thickened and bubbly. Set aside.
Heat oven to 350 degrees. Layer a 9″ x 13″ casserole with sliced potatoes, overlapping slightly. Top with half of the eggplant slices.
Cover with meat sauce.
Top meat sauce with remaining eggplant slices.
Sprinkle with 1/2 cup grated cheese.
Spoon white sauce evenly over everything. Top with remaining 1/2 cup cheese and fresh basil, torn.
Bake at 350 degrees 30 to 45 minutes or until nicely browned. Let cool 10 to 15 minutes.