1. Dust the lamb with flour and season well with salt and pepper. Heat 2 tablespoons of oil in a large saucepan or casserole dish over a medium heat. Cook the lamb in batches until browned all over. Remove from the pan and set aside.
2. Heat the remaining olive oil in the same pan and add the onions, turning frequently until they begin to soften. Add the garlic, wine, vinegar, honey, passata, cinnamon stick, rosemary and lamb, and season.
3. Bring to the boil then turn down the heat, cover with a lid and simmer for 2-2.5 hours, turning occasionally until the meat and onions are tender. Add a little water during cooking if the sauce begins to dry out too much.
4. Scatter with the parsley and serve with Greek yoghurt and steamed green beans topped with toasted flaked almonds.