First make the meat sauce. Heat oil in a large frying pan. Add onion and garlic. Cook until onion is golden. Increase heat. Add meat and brown well.
Add mushrooms, tomatoes in juice, tomato purée, oregano, basil and sugar. Stir. Bring to the boil then reduce heat and simmer gently for 40 minutes or until meat mixture has thickened slightly, stirring occasionally.
Season with salt and pepper to taste. Set aside until cool.
Preheat the oven to 180˚C.
To make the cheese sauce melt butter in a saucepan. Add flour and cook until frothy. Gradually add milk, stirring constantly until mixture boils and thickens.
Remove from heat. Stir in cheese. Season with salt and pepper to taste.
Cover with a lid or plastic wrap to prevent a skin forming. Set aside to cool slightly.
To assemble: Place half the lasagne in a greased ovenproof dish. Spread with half the meat mixture and half the cheese sauce. Repeat the layers. Top with parmesan cheese.
Cook for 20 minutes or until golden and heated through.