To make the meat sauce: heat the oil in a large saucepan and gently fry the onions for 10 mins until soft and golden. Add the garlic, herbs and bay, and then cook for a further 2 minutes. Heat another frying pan and add in a quarter of the beef, cook until brown, then add to the onions. Fry the beef in stages and add to the onions until all the meat is in the pan with the onions. Toss in the tomatoes and ketchup with the onions and beef. Add the red wine if desired. Season and simmer. Slowly cook for 30 mins until the sauce has thickened and leave aside.
In the meantime, make the white sauce. Add all the ingredients into a pan, season, then simmer, whisking continuously. Allow to simmer for about 5 minutes, whisking, until thick and smooth, then take off the heat.
Divide ingredients up so that you have two lasagnes. Add a thin layer of meat sauce to an ovenproof baking dish, drizzle with white sauce and sprinkle with a little mozzarella. Cover with a layer of lasagne sheets, and then top with more sauce, more mozzarella and more lasagne sheets. Repeat finally and cover the top layer in white sauce and some grated parmesan.
To cook, heat oven to 200°C/180°C fan/ gas 6. Place in the oven to cook for aprox 35-40 mins until golden brown on the top and crisp around the edges. Leave to settle for 10 mins before cutting into squares and serving with salad and garlic bread, if desired.