Fry onion and garlic in butter in large frypan until soft and golden. Transfer to a large deep saucepan. Fry mince, stirring, until meat is brown, then transfer to saucepan. Fry mushrooms for a couple of minutes (add extra butter if needed), transfer to saucepan. Add red wine to frypan, stir to dissolve brown bits and add liquid to saucepan. Add tomatoes, tomato paste, herbs, salt and pepper to taste to the mixture in the saucepan, bring to the boil and simmer for about 1 hour, covered.
While meat sauce is cooking, melt the butter for cheese sauce in saucepan, add flour, stir and cook for a minute or so. Gradually stir in milk, add cheese, nutmeg, salt and pepper to taste. Heat slowly, stirring constantly, until sauce thickens and starts to bubble.
Spoon a shallow layer of the cooked meat sauce into a large lasagne dish (approx 22cm x 32cm), cover meat with a single layer of lasagne sheets, then a layer of cheese sauce. Repeat layers in the same order until the dish is full, ending with a layer of cheese sauce (if any meat sauce is left over can be frozen to have with pasta later). Sprinkle the top with the Parmesan cheese. Cook at about 375° for 30 minutes. Remove from oven, gently pour cream over the top, lower oven heat and cook at 325 for another 10 minutes. Serve with a green salad and Italian bread