Heat oil in a pan and cook the beef until it’s a deep golden brown and crispy. *see notes
Transfer to a plate and set aside.
Add the onion and the mushrooms to the pan with a little more of the oil if necessary, and fry for 10 minutes until golden. Then add the garlic, herbs, and tomato paste. Pour in the wine and bring to a boil and let it bubble for 3-5 minutes.
Add in the stock, chopped tomatoes and red wine vinegar and return the beef to the pan. Reduce the heat to a simmer and cook gently partially covered for 2 ½ - 3 hours until the meat is really tender and the sauce is thick.
Meanwhile, make the bechamel sauce. Melt the butter in a pan and stir in the flour. Use a whisk to stir and cookout for a minute or 2 then gradually add in the milk whisking all the time, until you have a smooth thick sauce. Season well and add in the pinch of mixed spice.
Once the beef sauce is cooked remove the bay leaf. The sauce should be just thick enough that it coats the meat.
Preheat the oven to 200c/ 180 fan
Spoon ⅓ of the meat sauce into a large oven-proof dish. Top with 4 of the lasagna sheets and spoon over ⅓ of the bechamel and sprinkle that with ⅓ of the cheese mixture.
Repeat the layering process twice more ending with the bechamel and cheese. Bake for 30-35 minutes until bubbling and golden.