Put flour in a large bowl and season with salt and pepper. Add meat and toss until coated in flour. Heat 2 tablespoons of the oil in a large non-stick frying pan over a medium-high heat. Cook meat, in two batches, for 5 minutes or until browned. Remove from pan and repeat with remaining meat.
Heat remaining oil in a large deep cast iron or heavy based pot over a medium heat. Add onion and garlic and cook, stirring, for 2 minutes. Add ras el hanout and stir for 2 minutes. Add meat and stir until coated.
Add tomatoes, stock, preserved lemon and cinnamon sticks. Stir to combine. Bring to a simmer. Reduce heat to low. Cover and cook for 2 hours, stirring occasionally, until meat is tender and sauce is thick.
Add chickpeas, honey and dates and stir until heated through. Serve tagine over couscous, sprinkled with coriander and almonds.