Preheat the oven to 350 degrees Fahrenheit.
Heat the butter and olive oil together in a heavy-bottomed pan over high heat. Add the beef and cook until nicely browned on all sides. Remove with a slotted spoon and set aside. Brown the lamb in the same way and set aside with the beef.
Drain off all but one tablespoon of the fat and add the onion. Season with a pinch of salt and cook until soft and slightly caramelized, 7-10 minutes. Add the garlic and cook until fragrant, about 1 minute. Deglaze the pan with the red wine.
Reduce the heat to medium and add the tomato paste, crushed tomatoes, bay leaves and spices. Return the meat to the pan, season to taste with salt and pepper, and simmer for 15-20 minutes until thickened.
Meanwhile, cook the pasta according to package directions until al dente.
Meanwhile, make the béchamel. Heat the butter and flour over medium heat in a pot, whisking to combine. When the mixture begins to bubble, add a ladleful of milk and whisk well to combine. When the milk is well-incorporated, add another ladleful of milk. Continue adding milk, whisking well after each addition, until all of the milk has been added. Cook until thick, then remove from the heat. Season with salt and nutmeg.
Whisk the eggs together in a small bowl until well-combined. Add a ladleful of the béchamel from a height, whisking well to keep the eggs from curdling. Add three ladlefuls of béchamel in this way, whisking constantly. Transfer this mixture back to the béchamel, whisking well to combine.
When the pasta is cooked, drain well and place in a large mixing bowl. Add the meat sauce, and toss to combine.
Pour the meat sauce and pasta mixture into a 9-by-13 casserole dish. Top with the béchamel, followed by the feta cheese. Bake for 40-50 minutes, or until nicely browned on top. Allow to cool 15-20 minutes before serving.