For the Tomato Meat Sauce:
- 3 tablespoons good olive oil
- 1 1/2 cups chopped yellow onion (1 large)
- 1 pound lean ground beef
- 1 pound lean ground lamb
- 3/4 cup dry red wine
- 1 tablespoon minced garlic (3 large cloves)
- 1 tablespoon ground cinnamon
- 1 teaspoon dried oregano
- 1 teaspoon fresh thyme leaves
- Pinch of cayenne pepper
- 1 can (28 ounces) crushed tomatoes in puree
- Kosher salt and freshly ground black pepper
For the Bechamel:
- 1 1/2 cups whole milk
- 1 cup heavy cream
- 4 tablespoons (1/2 stick) unsalted butter
- 1/4 cup all-purpose flour
- 1/4 teaspoon freshly grated nutmeg
- Salt and freshly ground black pepper
- 1 1/2 cups freshly grated Parmesan or Kasseri cheese
- 1 1/2 cups diced Mozzarella
- 2 extra-large eggs, beaten
- 7 oz Greek-style yogurt
- 12-16 oz pound small shells
Preheat the oven to 350 degrees F.
For the bechamel, heat the milk and cream together in a small saucepan over medium-low heat until simmering. In a medium saucepan, melt the butter. Add the flour and cook over medium heat, whisking constantly for 2 minutes. Pour the warm milk and cream mixture into the butter and flour mixture, whisking constantly. Continue cooking, stirring occasionally, over medium heat for 5 to 7 minutes, until smooth and thick. Add the nutmeg, 1 teaspoon salt, and 1 teaspoon of pepper. Stir in 3/4 cup of Parmesan cheese, 3/4 cup of Mozzarella, 1/2 cup of the tomato and meat sauce, and allow to cool for 10 minutes. Stir in the eggs and yogurt and set aside.
Meanwhile, cook the pasta in a large pot of boiling water until al dente. Don't over-cook because the pasta will later be baked. Drain and set aside.
Add the pasta to the meat and tomato sauce, and pour the mixture into a baking dish. Spread the bechamel evenly to cover the pasta and sprinkle with the remaining Parmesan and Mozzarells cheese. Bake for 1 hour, until golden brown and bubbly. Set aside for 10 minutes and serve hot.