2 lbs ground lamb or beef
2 tablespoons olive oil
1 chopped onion
1 red bell pepper, stemmed, cored, and finely chopped
4 cloves garlic, minced
1 teaspoon allspice
1 teaspoon cinnamon
1 teaspoon cayenne pepper
1/2 teaspoon ground ginger
1 teaspoon black pepper
1 tablespoon dried oregano
2 tablespoons tomato paste
1/2 cup red wine
zest from 1 lemon
2 tablespoons lemon juice
salt to taste
1 stick unsalted butter
1/2 cup flour
1 teaspoon salt
4 cups whole milk
4 egg yolks
1 bay leaf
1/2 teaspoon ground nutmeg
3 large eggplants
1/2 cup salt
8 cups water
2-3 Yukon gold potatoes
1 cup pecorino or Parmesan cheese
Mix together the 1/2 cup salt with 8 cups of water for the moussaka in a large pot. Slice the top and bottom off the eggplants. Cut thick strips of skin off the eggplants and give them a striped appearance. Slice the eggplant into 1/4" thick rounds and drop them into the brine. Let the eggplant sit in the brine 15-20 minutes, then remove them onto paper towels to dry.
While the eggplant brines, heat the olive oil in a large skillet over medium-high heat and brown the ground meat. About halfway through, add the onions and red pepper. Sprinkle a little salt over the meat and vegetables.
Once the meat is browned and onions have softened, add the garlic, allspice, cinnamon, cayenne pepper, ground ginger, black pepper, oregano, and tomato paste. Mix well and cook 2-3 minutes. Add the red wine and bring the sauce to a simmer. Reduce the heat and continue to simmer gently, uncovered for 20 minutes. Turn off the heat. Add the lemon zest and lemon juice. Mix well and taste. Add more lemon juice or salt to taste. Set the sauce aside.
Peel and slice the potatoes into 1/4" rounds and boil them in salted water for 5-8 minutes while the meat sauce simmers. You want them under-cooked but not completely crunchy. Drain and set aside.
To cook the eggplant, preheat the oven to broiling. Line a roasting pan with aluminum foil.
Grease the inside with olive oil, then place the eggplant rounds on the foil and brush with the olive oil. Broil for 3-4 minutes until lightly browned on one side. Flip, then broil for 2-3 minutes more. Set aside.
Next, prepare the bechamel. Add the milk in a pot and set over medium heat until steamy (about 160 degrees). Do not let the milk simmer.
Heat the butter in a small pot over medium heat. Once the butter has melted, slowly whisk in the flour. Let the roux simmer over medium-low heat for a few minutes.
Slowly pour the steamy milk into the roux, stirring constantly. Once all the milk is added, return the heat to medium and add the bay leaf, nutmeg, and about a teaspoon of salt, continuing to stir well. Cook sauce until it reduces slightly (about 15 minutes). Discard the bay leaf.
Put the egg yolks in a large mixing bowl and whisk to combine. Slowly pour a ladle's worth of the bechamel onto the eggs, constantly whisking. Slowly pour the egg mixture back into the bechamel while whisking the mixture. Keep the sauce on very low heat to prevent it from boiling or simmering.
To assemble the dish, set the oven temperature to 350F.
Layer the bottom of a casserole with the potatoes overlapping slightly.Top the potatoes with a layer of eggplant slices (using only about half). Cover the eggplant slices with the meat sauce, then layer the remaining eggplant slices on top of the meat.
Sprinkle half the cheese on top. Ladle the bechamel over everything in an even layer.
Sprinkle the rest of the cheese on top.
Bake for 30-45 minutes, or until the top is browned.
Let the moussaka cool for 15 minutes before serving.