Cut eggplant into 1/4 inch slices with skin on. Sprinkle slices with salt and set in a colander to drain in the sink for 1 hour. Pat eggplant dry and set aside.
Fry eggplant slices in a little oil until browned; remove from heat and set aside.
Saute onion and garlic in oil until soft. Add meat and brown, stirring well. Add remaining sauce ingredients to meat, and simmer for 30 minutes over low heat, stirring frequently.
Melt butter in skillet, and whick in flour. Cook gently for 2 minutes, stirring constantly. Add milk all at once and whisk until mixture comes to a boil and thickens, about 1 minute more.
Remove cream sauce from heat, and stir in nutmeg or cinnamon, 1 tbsp of cheese, and salt and pepper to your taste.
Oil the bottom of a large square casserole or baking dish. Layer eggplant across the bottom. Top with half the meat sauce, layer again with eggplant, add rest of meat sauce, and finish with the remaining eggplant.
Stir the beaten egg into the cream sauce and spread over eggplant. Sprinkle with remaining cheese.
Bake in preheated 350F oven for about an hour.
Let stand 10 minutes before cutting into squares to serve.