For the meat sauce
For the béchamel topping
For the pasta
First, prepare the meat mixture: Heat the oil and sauté the onions until tender. Add the ground meat and cook for 8΄-10΄ until lightly browned. Pour in the plum tomatoes, salt and pepper and simmer for 30΄-40΄ until liquid is reduced.
Next, prepare the béchamel as follows: Heat the butter and mix in the flour. Slowly pour in the milk stirring briskly all the time. Continue to stir until cream sauce thickens and add (off the heat) the kefalograviera cheese, salt, pepper, a pinch of nutmeg (optional) and the eggs one by one. Whisk well after each addition.
Meanwhile, boil the pasta in plentiful salted water and drain thoroughly. Sprinkle with the cheese and toss with the melted butter. Add 6-7 tbsp béchamel and transfer the pasta to a buttered and breadcrumb-dusted baking tray. Cover the pasta with a layer of meat sauce and, finally, top with the remaining béchamel.