Peel the onions and cut them into strips if you want to keep their chewiness, or chop them into small pieces otherwise.
Finely chop the garlic as well as the celery and carrots (cut them into fine sticks and then chop the sticks).
Heat a generous drizzle of olive oil in a large frying pan or pot and fry the onions for 3 minutes on a medium heat. Add the garlic, carrots and celery sticks and fry for 6/7 minutes, stirring regularly.
Meanwhile, prepare the meat. Coarsely cut and crush the minced meat (beef + pork).
Clean the mushrooms and cut them into slices or small quarters (optional).
Add the meat to the mixture and, if necessary, a little oil, and brown the meat for 7/8 minutes, stirring.
Then add the mushrooms and fry for 2/3 minutes (optional).
Then add the wine and simmer for a good ten minutes.
Finally, add the tomatoes and tomato paste, as well as the herbs. Mix well and simmer on a low heat for at least 30 minutes, longer if you have time (one hour).
Meanwhile, prepare the béchamel sauce. Heat the milk to 50/60°C (approximately, the main thing is that it is hot). Then melt the butter in a medium saucepan. Add the flour as soon as the butter has melted and stir well. Cook for a few minutes (do not let it turn brown).
Then pour in the hot milk little by little, stirring constantly with a whisk, and leave to cook over a low heat for 5 to 10 minutes until the mixture thickens, continuing to stir well to homogenise the sauce.
Once the sauce is thick, season with salt, pepper and nutmeg (freshly grated if possible). Taste and adjust the seasoning.
When the meat sauce has finished simmering, remove the bay leaves and thin out the sprigs of thyme and rosemary in the sauce.
Set aside two ladles of béchamel, then add the rest of the béchamel to the sauce and mix gently. Add freshly grated Parmesan cheese to the mixture if necessary.
Preheat the oven to 180°C.
Butter or oil a rectangular dish (27cm x 15cm). Brush the bottom of the dish with a thin layer of filling (or if you have some tomatoes / tomato sauce left over, you can also just put a layer of tomato). Then place a first layer of pasta, cover with a generous amount of filling, and repeat the process twice. Make sure you cover the entire surface of the pasta with the sauce so that the pasta does not dry out during cooking.
To finish, place a final layer of pasta. Cover with the remaining béchamel sauce and, if necessary, add slices of mozzarella and/or sprinkle with the remaining sauce.
Cook for 30 minutes at 180°C. Check the cooking of the pasta with a knife and extend it a little if necessary. Leave to cool for a few minutes before enjoying this meal!