To make the meat sauce, heat the oil in a large saucepan over a low heat. Add the onion and fry gently for about 5 minutes, stirring occasionally. Add the carrots, celery and garlic and cook, stirring, for a further 5 minutes until the onion is soft and just beginning to colour.
Turn up the heat a little, then add the beef mince and cook, stirring and breaking up the meat with a wooden spoon, until browned and crumbly. Add the mushrooms and cook for 1 more minute. Add the stock, wine or extra stock, tomatoes with their juice, tomato paste and dried herbs and stir together thoroughly. Bring the mixture to the boil, then cover with a lid and gently simmer over a low heat for 45 minutes, stirring occasionally. Stir in the parsley and season to taste.
Preheat the oven to 180 degrees C. To make the sauce, mix the cornflour to a smooth paste with a little of the milk in a small bowl. Heat the remaining milk to boiling point in a saucepan, then pour some of it onto the cornflour mixture, stirring well. Return this to the milk in the saucepan. Bring to the boil, stirring until the sauce thickens, then simmer for 2 minutes. Stir in the grated nutmeg and season to taste.
Spoon half the meat sauce over the base of a 3 litre ovenproof dish or roasting tin. Cover with half the lasagne sheets, then spoon over the remaining meat sauce and cover with another layer of pasta. Pour over the white sauce to cover the lasagne completely. Scatter the grated cheddar cheese over the top of the lasagne.
Place the dish on a baking tray and bake for about 45 minutes until the lasagne is bubbling and the top is lightly browned. Remove from the oven and leave to rest for about 10 minutes before serving.