First, make your meat sauce. Heat the olive oil in a saucepan – a large frying pan with a lid is ideal – add the onions and garlic and gently soften for 5 minutes, stirring occasionally.
Add the beef and cook until brown, stirring to remove any lumps that may form.
Coarsely chop the haggis and add to the mince, stirring until combined.
Then stir in the celery, tomatoes, tomato purée, red wine and oregano.
Crumble in the stock cube and stir thoroughly. Reduce the heat, place the lid on the pan and simmer for 30 minutes. Season to taste.
Next, make the white sauce.
Melt the butter in a non-stick saucepan and stir in the flour, stirring continuously to form a roux.
Allow to cook for about a minute.
Gradually add the milk a splash at a time, stirring or whisking thoroughly to remove any lumps.
Continue adding milk until you have a smooth sauce about the consistency of single cream.
Add the nutmeg, stir for another 4–5 minutes, then season to taste with salt and black pepper.
Spread a 5–10mm layer of meat in the bottom of the lasagne dish and cover it with lasagne, trying not to allow sheets to overlap.
Spread a layer of white sauce onto the lasagne, then another layer of meat followed by more lasagne.
Repeat until the dish is full or you have run out of sauce.
The top layer of lasagne should be covered with a layer of white sauce sprinkled with the grated Parmesan and ground black pepper.
Bake, uncovered, for 45–55 minutes, or until the cheese is golden and the lasagne is soft.